Tôi tò mò nếu điều này là có thể với Mercurial. Tôi muốn có một subrepos trong một dự án mà luôn luôn cố định vào changeset được chỉ định thủ công, hoặc tốt hơn - tag. Về cơ bản những gì tôi đang cố gắng đạt được là có một hệ thống cốt lõi trong repo chính và sau đó tất cả các mô-đun và các thành phần trong subrepos, nhưng tôi không muốn các subrepos trỏ đến đỉnh, chỉ cho các phiên bản chính của những thành phần/mô-đun (do đó thẻ).Làm thế nào để làm cho subrepository Mercurial luôn luôn trỏ đến một changeset hoặc thẻ nhất định?
Làm thế nào để làm cho subrepository Mercurial luôn luôn trỏ đến một changeset hoặc thẻ nhất định?
Trả lời
Subrepositories hoạt động chính xác như bạn muốn.
Mercurial không bao giờ tự động cập nhật subrepo lên đầu. Nó luôn luôn ở tại changeset bạn chọn. Từ documentation:
Subrepos không tự động theo dõi changeset mới nhất của nguồn của họ. Thay vào đó, chúng được cập nhật thành changeset tương ứng với changeset được kiểm tra trong bảng thay đổi cấp cao nhất. Điều này là như vậy nhà phát triển luôn nhận được bộ mã tương thích nhất quán và thư viện khi họ cập nhật.
Để đạt được những gì bạn muốn, bạn có thể làm theo các bước sau:
echo subrepo = https://example.com/subrepo/repo/path > .hgsub
hg add .hgsub
hg clone https://example.com/subrepo/repo/path subrepo
hg -R subrepo update mytag
hg commit
này sẽ tạo ra một thư mục subrepo với nội dung của các kho lưu trữ theo quy định mà sẽ ở lại trên thẻ mytag
miễn là bạn không cập nhật tay đến cái gì khác!
Mọi người nhân bản kho lưu trữ của bạn sẽ có subrepo trên cùng một changeset như bạn (ví dụ: mytag
).
FYI, thay đổi mà một bản phụ được cập nhật được lưu trữ trong tệp .hgsubstate
tại gốc của kho lưu trữ chính.
- 1. Làm cách nào để làm cho cửa sổ biên dịch trong Emacs luôn luôn có kích thước nhất định?
- 2. Làm thế nào để ghép một changeset hợp nhất với Mercurial
- 3. Làm cách nào để lấy thẻ changeset sau khi bạn sao chép hoặc kéo vào thẻ bằng cách sử dụng mercurial?
- 4. Trong Mercurial, có một thiết lập để luôn luôn đẩy chi nhánh mới?
- 5. Làm thế nào để sửa đổi một "công cộng" changeset trong Mercurial
- 6. Làm cách nào để di chuyển thẻ?
- 7. Data.Set: nó luôn luôn biết tốt nhất?
- 8. prepareForSegue ** luôn luôn ** tạo một newViewViewController mới?
- 9. Làm thế nào để bạn nhận được git để luôn luôn kéo từ một chi nhánh cụ thể?
- 10. Force Mercurial luôn sử dụng --subrepos
- 11. Làm thế nào tôi có thể yêu cầu Symfony2 luôn sử dụng _format = json cho một mẫu URL nhất định?
- 12. Làm thế nào để luôn luôn có thể nhìn thấy cuộn của Tableview trong Obj c?
- 13. Làm thế nào để tạo một hàng đợi GCD luôn luôn nối tiếp, ngay cả trên các CPU đa lõi?
- 14. Làm thế nào để xác định trong Mercurial, nếu changeset, được chỉ định bởi sửa đổi, đã được ghép chưa?
- 15. Luôn giữ con trỏ ở giữa Vim
- 16. làm thế nào để làm cho div con luôn phù hợp bên trong div cha?
- 17. Làm cách nào để luôn cuộn UIScrollView?
- 18. làm cho chuyển tiếp css3 xoay luôn luôn theo cùng một hướng
- 19. Xác định changeset 'đang hoạt động' với Mercurial?
- 20. Có 'a [i] = i;' luôn luôn dẫn đến hành vi được xác định rõ ràng?
- 21. Làm thế nào để tôi tạo một cửa sổ (osx) luôn luôn di chuột lên trên màn hình
- 22. có khoá ngoại luôn luôn tham chiếu đến khóa duy nhất trong bảng khác không?
- 23. Làm cách nào để yêu cầu MacVim luôn sử dụng một cú pháp nhất định làm nổi bật với một loại tệp nhất định?
- 24. Làm thế nào để có số không âm luôn luôn được định dạng là số không dương trong một chuỗi python?
- 25. TTS đầu ra luôn luôn A2DP
- 26. Làm thế nào để vô hiệu hóa ModelMetadata.IsRequired từ luôn luôn là đúng đối với không nullable kiểu giá trị
- 27. Làm thế nào để ngăn chặn Visual Studio từ "luôn luôn" kiểm tra các tập tin giải pháp?
- 28. Nó luôn luôn là một thực hành tốt để thiết lập con trỏ đến NULL sau khi miễn phí() - ing chúng?
- 29. Làm các lớp ẩn danh * luôn luôn * duy trì một tham chiếu đến cá thể kèm theo của chúng?
- 30. Application.OpenForms.Count = 0 luôn luôn