2011-10-27 23 views
5

Tôi hiện đang làm việc trên một dự án có một số kho lưu trữ thủy ngân. Mỗi kho chứa thủy ngân chứa mã nguồn cho thư viện hoặc nhị phân, tất cả đều được phát triển tích cực.Mercurial - hg cập nhật vào một ngày cụ thể trên một chi nhánh có tên

Bạn có thể tưởng tượng rằng tính tương thích giữa các sản phẩm được tạo từ mỗi kho lưu trữ có thể nhanh chóng trở thành một vấn đề. Một cách để giải quyết vấn đề này là cập nhật từng kho lưu trữ cục bộ trên các nhánh tương thích và sau đó cập nhật vào một ngày cụ thể trên các nhánh này - với quan điểm tại bất kỳ thời điểm nào các nhánh tương thích.

Trên một chi nhánh được đặt tên, nói V0.X, tại thẻ v0.1

hg identify 

cho

934ad264137e (V0.X) V0.1 

Sau đó cập nhật đến một ngày cụ thể (tôi vẫn muốn ở lại trên V0. X chi nhánh)

hg update -d "<10/28/11" 

tại xác định

hg identify; hg branch 

cho

51a072771de7 tip 
default  

Có ai biết làm thế nào để cập nhật cùng một chi nhánh tên là đến một ngày mà không có nguy cơ nhảy xuống đến chi nhánh khác?

Mọi trợ giúp sẽ được đánh giá cao.

Jon.

+0

Tốt câu hỏi, nhưng các tài liệu hướng dẫn cho 'hg giúp đỡ update' cho biết: '-d --date NGÀY tipmost hợp sửa đổi date'. Bạn không chắc chắn điều đó có nghĩa là gì, tho ... :( – hochl

Trả lời

2
hg help revset 
"branch(string or set)" 
    All changesets belonging to the given branch or the branches of the 
    given changesets. 

...

"ngày (khoảng)" changesets trong khoảng thời gian, thấy "ngày hg giúp đỡ".

cho chúng ta workflow như

  • hg log -r "chi nhánh ('V0.X') và sắp xếp (ngày (' < 10/28/11'), date)"
  • tìm phiên bản N trong danh sách
  • hg cập nhật -r tồn
+0

well, pp 1-2 có thể được chuyển đổi thành một số oneliner, được sử dụng như tham số -r của bản cập nhật, cung cấp cho chúng tôi kết quả yêu cầu –

+1

Vâng, tôi tin rằng một lớp lót sau làm những gì được yêu cầu: hg update -r "branch ('V0.X') và ngày ('<10/28/11')" – ketorin

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