2010-08-12 36 views
8

Tôi hiện đang tìm cách chuyển đổi kho lưu trữ SVN hiện có sang git, sau đó sử dụng Bảng đánh giá để xem xét trước khi cho phép đẩy. Tôi mới chỉ mới bắt đầu sử dụng git và xa một chuyên gia về nó, tuy nhiên những gì tôi muốn làm là có một móc trước đẩy chạy "sau khi xem xét" để gửi các thay đổi cho ReviewBoard. Tôi có một móc làm việc mà sẽ làm điều này, tuy nhiên có vẻ như điều này không được tuyên truyền tự động để nhái của kho lưu trữ. Đọc xung quanh nó âm thanh như thế này không được thực hiện để ngăn chặn buộc mã thực thi trên một người sử dụng, tuy nhiên đây là một kho lưu trữ nội bộ chỉ và chúng tôi muốn thực thi điều này và một vài chính sách khác. Có cách nào để buộc git để tuyên truyền các móc để nhân bản từ xa hoặc chúng ta cần phải hướng dẫn các nhà phát triển của chúng tôi để chạy một cái gì đó mà đặt những móc trong repo địa phương của họ?Git hooks - tuyên truyền từ kho lưu trữ từ xa?

Cảm ơn - Adam

+0

Xem http://stackoverflow.com/questions/3462955/putting-git-hooks-into-repository - câu trả lời này sẽ trả lời một số câu hỏi của bạn. – bstpierre

Trả lời

7

Git không có built-in hỗ trợ cho việc chuyển móc giữa hàng nhái, hàng không bắt buộc hay không. Nó có các mẫu mặc định mà bạn có thể sửa đổi hoặc thêm vào cho các kho lưu trữ mới, nhưng chúng được lấy từ hệ thống tệp cục bộ (hoặc hệ thống tệp mạng, như trường hợp có thể). Có thể bạn có thể thiết lập một hệ thống để sao chép chúng, hoặc đặt các móc nối vào kho lưu trữ và yêu cầu các nhà phát triển cấu hình bản sao của họ một cách chính xác.

Cũng có thể chạy móc mà bạn muốn trên kho trung tâm, khi quá trình push xảy ra nhưng trước khi cập nhật ref. Điều này có thể được thực hiện với một móc nhận trước hoặc cập nhật. Cho dù điều này có thể chấp nhận hay không phụ thuộc vào chức năng thực tế của móc này, điều này không rõ ràng từ bài đăng của bạn.

Đọc http://www.reviewboard.org/docs/manual/dev/faq/ có vẻ như bạn nên khuyến khích các nhà phát triển của bạn sử dụng các nhánh chủ đề. Sau khi thay đổi được chấp thuận, chúng có thể được hợp nhất thành các nhánh phát hành. Bạn có thể có một móc cập nhật chỉ cho phép đẩy đến các nhánh cụ thể từ người dùng đặc quyền, hoặc bất kỳ tiêu chí nào khác. Điều này cũng có thể được thực hiện bằng Gitolite, mà bạn có thể đọc về tại http://progit.org/book/ch4-8.html

Nếu bạn không cam kết ReviewBoard, bạn có thể xem xét http://code.google.com/p/gerrit/ đó là tích hợp tốt hơn với Git và hỗ trợ một cách rõ ràng công việc này

Các vấn đề liên quan