So there was a new branch created where we made some breaking changes to the codebase.
Now we are going to merge, but before that I want to get a list of all the files that were changed in the branch.
How can I get a list of files? I tried:
hg status --change REV
But i'm not sure if that is what I want, since I want all files changed in this branch and not a specific revision in the branch.
BTW, how can I view the revision numbers?
Try with
to get the changes between the first and the last changeset on the branch (
hg status
will implicitly usemin(branch('your-branch'))
andmax(branch('your-branch'))
when you give it a range of revisions like this).Since you'll be merging, you should really look at
to see what is changed between the
default
branch andyour-branch
. This shows you the modifications done, and filters out any modifications done on the branch due to merges withdefault
.This is necessary in case your history looks like this:
where you've already merged
default
into your branch a couple of times. Mergingdefault
into your branch is normal since you want to regularly integrate the latest stuff from that branch to avoid the branches drifting too far away from each other.But if a new file was introduced on
default
and later merged up intoB
, then you don't really want to see that in thehg status
output. You will see it if you dosince the file was not present in
a
, but is present iny
. If you dothen you wont see the file in the output, assuming that it's present in both heads.
You write in a comment that you're working Kiln repository. They mean "clone" when they say "branch", but the above can still be adapted for your case. All changesets will be on the
default
named branch, but that's okay.Run the following command in your local clone of the "branch" repository:
This marks the current tip as the head of
mybranch
. Then pull all the changesets from the main repository:You then mark the new tip as the tip of the main repository:
You can now run
to see the changes between
main
andmy-branch
. If you want to see what you did on the branch itself, the useThe
::mybranch
part will select changesets that are ancestors ofmybranch
— this is all your new work, plus old history from before you branched. We remove the old history with- ::main
. In older versions of Mercurial, you would usehg log -r -r mybranch:0 -P main
.