2010-08-20 26 views
5

Có ai có lời khuyên nào về việc sử dụng Mercurial làm giao diện người dùng cho Perforce không? Những gì tôi muốn làm là sử dụng Mercurial để xử lý các thay đổi thực sự chi tiết và sau đó, khi tôi đã hoàn thành một thứ gì đó, hãy đẩy nó trở lại máy chủ Perforce.Sử dụng Mercurial với Perforce

Tôi tìm thấy bài viết này http://www.dehora.net/journal/2008/01/05/using-mercurial-with-perforce/ nhưng không đề xuất bất kỳ công cụ nào để trợ giúp với tích hợp. Có tồn tại không? Tôi cho rằng tôi đang tìm nó kéo bất kỳ thay đổi mới nào từ Perforce, tích hợp chúng vào Mercurial địa phương của tôi rồi cuộn lên tất cả các cam kết Mercurial mà tôi đã thực hiện kể từ lần tích hợp cuối cùng và đẩy chúng lên Perforce. Tương tự như git-p4.

Trả lời

5

Tôi gặp lỗi khi tôi theo liên kết bạn đã cung cấp. Nhưng tôi đề nghị bạn nhìn vào perfarce extension (Tôi yêu tên!). Tôi đã không sử dụng nó bản thân mình, nhưng đó là sự hiểu biết của tôi rằng đây là những gì mọi người sử dụng để thu hẹp khoảng cách giữa Mercurial và Perforce.

Xem thêm trang wiki trên Perforce concepts. Dường như có rất nhiều thông tin tốt.

1

Như Martin nói, Perfarce là những gì bạn muốn. Tôi đã sử dụng nó ở một công việc trước đây, và nói chung nó hoạt động khá tốt nếu bạn chỉ làm việc với một nhánh đơn lẻ duy nhất thành một bản sao duy nhất. Nếu bạn bắt đầu nhân bản nhiều lần từ bản sao Mercurial ban đầu của bạn, thì mọi thứ bắt đầu trở nên phức tạp. Không phải không thể, chỉ phức tạp.

Nói chung, nó hoạt động bằng cách nhóm tất cả các thay đổi kể từ lần cuối bạn kéo từ Perforce. Tạo một danh sách thay đổi duy nhất cho mỗi người. Gắn thẻ nhận xét của danh sách thay đổi đó bằng băm của phiên bản Mercurial và cam kết nó với lực lượng. Sau đó nó tái nhập khẩu mà thay đổi từ Perforce và sáp nhập nó vào cây Mercurial của bạn, và bởi vì cả hai đều giống nhau không có hợp nhất.

Về cơ bản, nó hoạt động khá tốt cho luồng công việc kéo/chỉnh sửa/cam kết/cập nhật. Thật không may nó không phải là bất kỳ sự giúp đỡ khi nói đến tích hợp (trừ khi tôi bỏ lỡ một cái gì đó) như các nhánh lực lượng không được chuyển đổi sang Mercurial. Nó sẽ không biết những gì để hợp nhất.

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