Hãy thử với
$ hg status --rev "branch('your-branch')"
để có được những thay đổi giữa đầu tiên và cuối cùng changeset trên cành (hg status
ngầm sẽ sử dụng min(branch('your-branch'))
và max(branch('your-branch'))
khi bạn cung cấp cho nó một loạt các phiên bản như thế này).
Vì bạn sẽ được sáp nhập, bạn thực sự nên xem xét
$ hg status --rev default:your-branch
để xem những gì đang thay đổi giữa các default
chi nhánh và your-branch
. Điều này cho bạn thấy các sửa đổi được thực hiện và lọc ra mọi sửa đổi được thực hiện trên nhánh do hợp nhất với default
.
này là cần thiết trong trường hợp lịch sử của bạn trông như thế này:
your-branch: x --- o --- o --- o --- o --- o --- y
/ / /
default: o --- a --- o --- b --- o --- c --- o --- o --- d
nơi bạn đã sáp nhập default
thành chi nhánh của bạn một vài lần. Hợp nhất default
vào chi nhánh của bạn là bình thường vì bạn muốn thường xuyên tích hợp các nội dung mới nhất từ nhánh đó để tránh các nhánh trôi quá xa nhau.
Nhưng nếu tệp mới được giới thiệu trên default
và sau đó được hợp nhất thành B
, thì bạn thực sự không muốn thấy điều đó trong đầu ra hg status
. Bạn sẽ thấy nó nếu bạn làm
$ hg status --rev a:y
kể từ khi tập tin đã không có mặt trong a
, nhưng hiện diện trong y
. Nếu bạn làm
$ hg status --rev d:y
thì bạn sẽ không thấy tệp ở đầu ra, giả sử rằng nó có ở cả hai đầu.
Bạn viết trong nhận xét rằng bạn đang làm việc Kiln kho lưu trữ. Họ có nghĩa là "nhân bản" khi họ nói "chi nhánh", nhưng ở trên vẫn có thể được điều chỉnh cho trường hợp của bạn. Tất cả các thay đổi sẽ có trên default
named branch, nhưng điều đó vẫn ổn.
Chạy lệnh sau đây trong bản sao cục bộ của kho "chi nhánh":
$ hg bookmark -r tip mybranch
này đánh dấu đỉnh hiện nay là người đứng đầu của mybranch
. Sau đó kéo tất cả các changesets từ kho chính:
$ hg pull https://you.kilnhg.com/Repo/public/Group/Main
Sau đó bạn đánh dấu mới đầu như là đỉnh của kho chính:
$ hg bookmark -r tip main
Bây giờ bạn có thể chạy
$ hg status --rev main:mybranch
để xem các thay đổi giữa main
và my-branch
. Nếu bạn muốn xem những gì bạn đã làm trên nhánh chính nó, việc sử dụng
$ hg status --rev "::mybranch - ::main"
Phần ::mybranch
sẽ chọn changesets đó là tổ tiên của mybranch
- đây là tất cả các tác phẩm mới của mình, cộng với lịch sử cũ từ trước khi bạn phân nhánh. Chúng tôi xóa lịch sử cũ với - ::main
. Trong các phiên bản cũ của Mercurial, bạn sẽ sử dụng hg log -r -r mybranch:0 -P main
.
Tuyệt vời, ai đó đã tìm thấy 'tình trạng hg - -thay đổi'! :-) Mọi người hầu như luôn luôn sử dụng 'hg diff' hoặc' hg log -v' khi họ đang tìm kiếm các tệp đã thay đổi giữa hai lần sửa đổi. Tôi ra khỏi phiếu bầu ngay bây giờ, nhưng tôi sẽ upvote vào ngày mai! –