I use Mercurial with TortoiseHg. I have two branches (A
and B
) with two files (toto.cs
and titi.cs
).
Is there a w
If you're talking about a certain file which you want to be exempt from merging, then see @Ry4chan's answer. This is perfectly valid: some files, like build-relating configs, can be autogenerated, and conflict resolution for them is useless. Or, you might actually want to drop changes made in a source file.
If, on the other hand, you are trying to mimic file- or directory-limited merges of SVN-like systems, be careful. The revert
trick does not mean you merged some files and didn't merge other: you merged everything, the revert was just a kind of merge.
If you want to move some changes from one branch to another (say, backport a fix in a certain subsystem to an old stable branch), you don't merge the files with the fix; instead, you merge the changesets containing the fix; hg graft will help you do so.
Sure. Not merging titi.cs is really just using titi.cs exactly as it exists in A or in B (your choice). You could do that manually like this:
hg update A
hg merge B
hg revert --rev A titi.cs
(swap A and B to go the other direction).
Or you could do that automatically in your Merge Tool Confguration with something like this in your .hgrc
.
[merge-patterns]
titi.cs = internal:local
Which tells Mercurial to always use "this one not that one" for files matching that pattern.