Mercurial > hg
view tests/test-rename-after-merge @ 9725:3f522d2fa633
diff: add --inverse option
Most of the time, one can reverse a diff by swapping the revisions passed with
-r but it happens that if you use the global -R, and diff against the tip of
the current repo, you can't swap the revisions. One use-case for that is
reviewing changes from a bundle before unbundling. One could also pipe the
output of `hg diff` to a command line filter that reverses the diff, but that
would remove the benefit from color diffs. Therefore, having an option in
`hg diff` to reverse a diff is a good thing.
The option flag selection was tricky. GNU patch uses -R/--reverse but -R is
already used as a global option and --reverse would make --rev ambiguous.
author | Yannick Gingras <ygingras@ygingras.net> |
---|---|
date | Thu, 05 Nov 2009 15:18:56 +0100 |
parents | d821ea464465 |
children |
line wrap: on
line source
#!/bin/sh # Test issue 746: renaming files brought by the # second parent of a merge was broken. echo % create source repository hg init t cd t echo a > a hg ci -Am a cd .. echo % fork source repository hg clone t t2 cd t2 echo b > b hg ci -Am b echo % update source repository cd ../t echo a >> a hg ci -m a2 echo % merge repositories hg pull ../t2 hg merge hg st echo % rename b as c hg mv b c hg st echo % rename back c as b hg mv c b hg st cd .. # Test issue 1476: renaming a first parent file into # another first parent file while none of them belong to # the second parent was broken echo % test issue 1476 hg init repo1476 cd repo1476 echo a > a hg ci -Am adda echo b1 > b1 echo b2 > b2 hg ci -Am changea hg up -C 0 echo c1 > c1 echo c2 > c2 hg ci -Am addcandd echo % merge heads hg merge hg mv -Af c1 c2 echo % commit issue 1476 hg ci -m merge hg log -r tip -C -v | grep copies hg rollback hg up -C . echo % merge heads again hg merge hg mv -Af b1 b2 echo % commit issue 1476 with a rename on the other side hg ci -m merge hg log -r tip -C -v | grep copies