Kami biasanya menggunakan Kolaborator Kode Perforce dan SmartBear di Big Corp
dan sekarang kami juga akan menggunakan Mercurial untuk proyek-proyek tertentu.
Code Collaborator mendukung Mercurial (kami menggunakan versi 5) dan saya mencoba menentukan kapan waktu terbaik (selama komit / push ke server) proses adalah waktu terbaik / efisien untuk tinjauan kode
Terima kasih
code-reviews
mercurial
cbrulak
sumber
sumber
Jawaban:
Kami benar-benar mengalami hal yang hampir sama persis di perusahaan saya baru-baru ini. Inilah yang kami lakukan:
Kami menyimpan salinan definitif pusat dari semua repositori kami di satu server. Ketika pengembang ingin "memeriksa" kode, mereka pergi ke server ini dan mengkloning dari repositori di sana. Demikian juga, ketika siklus pengembangan selesai, kode akan didorong ke repositori yang sesuai di sana juga.
Kami memisahkan repositori stabil dari repositori pembangunan . Kami meminta kode ditinjau sebelum didorong ke repositori yang stabil. (Ini penting karena kami juga mengharuskan repositori stabil kami berisi kode yang saat ini berjalan dalam produksi, hanya berbeda dengan promosi kode yang tertunda.)
Untuk menegakkan tinjauan kode, kami menulis sebuah
pretxnchangegroup
kait (didokumentasikan dalam Buku HG ). Kami memanfaatkan fakta bahwa ketika kait ini berjalan, ia dapat melihat repositori seolah-olah perubahan kode bersifat permanen, namun juga memberi kami kemampuan untuk mencegah dorongan. Pada dasarnya, prosesnya adalah sebagai berikut:Intinya, ini memberi pengembang proses yang cukup ramping (yang harus mereka lakukan adalah dorongan hg) dan mengotomatiskan sepenuhnya pembuatan tinjauan kode (dan mengunggah file tambahan yang diubah ke ulasan), sambil memastikan bahwa semua kode ditinjau .
Catatan: Ini adalah proses yang cukup sederhana (dan relatif baru bagi kami), jadi mungkin tidak bekerja untuk semua orang, dan mungkin ada beberapa bug desain yang belum kami temui. Namun sejauh ini, ini bekerja dengan cukup baik.
sumber
Itu tergantung pada bagaimana Anda memiliki struktur repositori Anda dan apa yang ingin Anda capai. Kami lebih suka melakukan tinjauan "pra-komitmen", yang dalam dunia DVCS benar-benar berarti "pra-push". DVCS lebih baik di lingkungan ini (bila dibandingkan dengan SCM tradisional) karena mereka memiliki fungsi bawaan untuk menyimpan perubahan lokal Anda dan mendapatkan ruang kerja Anda kembali sehingga Anda dapat mengerjakan sesuatu yang lain.
Jika Anda ingin melakukan review pasca-push, alur kerja yang ideal sangat bergantung pada struktur repositori Anda. Sebagai contoh, mari kita asumsikan struktur repositori yang terlihat seperti yang dibahas dalam artikel ini pada layout repositori Git . Dalam hal ini, Anda mungkin ingin meninjau perubahan yang sedang digabungkan
develop
. Komitmen individu pada cabang fitur mungkin tidak masuk akal untuk ditinjau. Jelas semuahotfixes
juga harus ditinjau bersama dengan penggabunganmaster
.Jika Anda memiliki cabang integrasi tunggal tempat orang-orang memeriksa secara langsung, Anda ingin meninjau semua dorongan ke cabang itu. Itu mungkin sedikit kurang efisien, tetapi masih bisa berfungsi. Dalam lingkungan ini, Anda harus memastikan bahwa semua perubahan yang didorong ditinjau sebelum Anda memotong rilis. Itu bisa lebih sulit.
Adapun b) satu-satunya hal yang saya sarankan adalah mengirim email dukungan SmartBear ([email protected]) secara langsung. Kami akan (ya, saya bekerja untuk SmartBear) dengan senang hati membantu Anda mengatasi masalah jalur Anda, tetapi tidak ada informasi yang cukup dalam pertanyaan ini untuk memperbaiki masalah Anda. Proses normal adalah hanya menjalankan installer dan semuanya berfungsi. Tampaknya ada yang salah dalam proses itu.
sumber