This is not a question or feature request, but just a chance to document something I've discovered about merges in Mercurial that I think will be valuable to the Kiln audience.
Let's say that you have your code tagged at Version 1. You make a couple changes to two files and commit the changeset. When you go to push your change to the remote repository, you've found out that another developer refactored the code and made changes to 100 different files while you were editing your two files.
If you:
- pull changesets from remote (but do not update)
- merge the two heads
- commit the merge
You will see 100 files in the merge, with only two of them actually having been merged.
If you:
- pull changesets from remote
- update to the other new head
- merge the two heads
- commit the merge
The merge now contains only the two files you modified, with the merge results.
I assume this is because the merge operation considers changes made to the local state as the changeset to commit.
So the bottom line: update yourself to the head with the most files modified before doing the merge. This will minimize the scope of the merge changeset.
Hope this helps,
-Steve