Tôi thường xuyên làm việc với Mercurial bằng cách giữ một cửa hàng địa phương bắt chước thượng nguồn của tôi, và sau đó chỉ cần nhân bản một lần nữa tại địa phương cho môi trường làm việc thực tế của tôi:Làm thế nào để tạo bản sao cục bộ mà không cần kéo lại subrepos?
$ cd /clones
$ hg clone ssh://external-repo.example.com/some/repo/path/foo
$ cd ~/Development
$ hg clone /clones/foo
Điều này đặc biệt hữu ích đối với tôi bởi vì tôi thường muốn làm nhái mới trên máy bay, v.v., nơi tôi không có truy cập internet. Tuy nhiên, điều này không hoạt động khi bản sao gốc chứa subrepos - sự hiện diện của tệp .hgsubstate
có nghĩa là hg
sẽ luôn chuyển sang internet thay vì lấy bản sửa đổi nhân bản cục bộ (ngay cả khi chúng là cùng một số). Có cách nào để làm cho một bản sao cục bộ sao chép các tập tin mà không đi ra ngoài internet?
This question có câu trả lời có thể hoạt động, nhưng có vẻ rất đáng tiếc đối với quản lý dài hạn (xóa tệp .hgsubstate
trong bản sao trong /clones/
và sau đó tạo bản sao cục bộ từ đó).
Cảm ơn, đây chính xác là những gì tôi muốn - có lẽ quá khó để thay đổi tất cả các bản repos hiện tại của chúng tôi thành "tầm thường", nhưng sẽ sử dụng nó cho những cái mới. Rất may, subpaths sẽ giải quyết vấn đề của tôi cho những cái hiện có. –