2011-10-22 16 views
8

Bazaar support adding meta data to commit to record ai là tác giả thực sự của một sự thay đổi là so với những người thực hiện sự thay đổi:Có thể và cách "Tín dụng thay đổi" cho Mercurial/Git như trong Bazaar?

 
    $ bzr commit --author "Jane Rey <[email protected]>" \ 
       --author "John Doe <[email protected]>" 

Sau khi thêm dữ liệu meta này nó thể truy cập qua bzr log, như:

 
------------------------------------------------------------ 
revno: 105661 
fixes bug(s): http://debbugs.gnu.org/9414 
author: Oleksandr Gavenko 
committer: Juri Linkov 
branch nick: trunk 
timestamp: Mon 2011-09-05 12:55:11 +0300 
message: 
    * lisp/progmodes/grep.el (rgrep): Add "-type d". 

Có thể nhúng siêu dữ liệu như vậy trong cam kết cho Mercurial/Git?

Trả lời

9

Trong git bạn có lệnh tương tự:

git commit --author="Name <[email protected]>" 

Nhưng nó thường xuất phát từ giá trị cấu hình cài đặt trước.

Hg có cờ tương tự để đặt người dùng nhưng không tạo sự khác biệt giữa tác giả và người nhận. Nhưng có một số extension to do that.

Cả git và hg đều không có khái niệm thiết lập nhiều tác giả cho một cam kết. Mặc dù điều đó thường được thực hiện trong thông báo cam kết theo một số cách/quy ước được xác định trước trong nhóm

+0

Đối với Mercurial, tôi khuyên bạn nên đề cập đến người đó trong thông điệp cam kết. Siêu dữ liệu được thêm bởi tiện ích mở rộng đó sẽ không hiển thị trừ khi người xem cũng đã cài đặt tiện ích đó, tôi nghĩ vậy. –

1

Siêu dữ liệu như vậy được nhúng theo mặc định trong git. Để xem nó chỉ cần thử ràng buộc git log. Bạn sẽ thấy tất cả siêu dữ liệu được liên kết với mỗi cam kết. Bạn có thể đặt tên người dùng và email của mình như được chỉ định trong số tutorial này. Về cơ bản, bạn có thể thiết lập email và tên của bạn như thế này:

$ git config --global user.name "Scott Chacon"

$ git config --global user.email "[email protected]"

Ngoài ra, git có lệnh vui nhộn được gọi là blame cho phép bạn biết ai đã thay đổi chính xác dòng nào.

+0

Bạn cung cấp thông tin mà tôi đã biết ... Tôi đang tìm trường hợp nâng cao hơn ở đó người dùng không thể trực tiếp cam kết nhưng có thể là các bản vá lỗi của sen. Và tôi xem xét khả năng khi nhà phát triển thường xuyên áp dụng bản vá để nhúng tên tác giả gốc để cam kết siêu dữ liệu. – gavenkoa

+0

Xin lỗi, nhưng bạn chưa bao giờ xác định những gì bạn đã làm và không biết trong câu hỏi của bạn. Bạn nên cụ thể hơn trong lần sau. –

+0

Giả sử rằng luồng sạch này từ ngữ cảnh)) – gavenkoa

4

Mercurial không có khả năng như vậy theo mặc định. Không có cách nào để chỉ định một "committer" so với một "tác giả" trực tiếp. Tương tự, chỉ có một tác giả hỗ trợ.

+0

Bạn nói rằng điều này là không thể theo mặc định. Điều này có nghĩa là một số phần mở rộng bên ngoài cho phép điều đó? Bạn có biết một? – gavenkoa

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