view tests/test-rebase-keep-branch @ 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 3477ad0b1f2c
children b345b1cc124f
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

addcommit () {
    echo $1 > $1
    hg add $1
    hg commit -d "${2} 0" -m $1
}

hg init a
cd a
addcommit "c1" 0
addcommit "c2" 1

addcommit "l1" 2
addcommit "l2" 3

hg update -C 1
hg branch 'notdefault'
addcommit "r1" 4
hg glog --template '{rev}:{desc}:{branches}\n'

echo
echo '% Rebase a branch while preserving the branch name'
hg update -C 3
hg rebase -b 4 -d 3 --keepbranches 2>&1 | sed 's/\(saving bundle to \).*/\1/'
hg glog --template '{rev}:{desc}:{branches}\n'
echo '% dirstate branch should be "notdefault"'
hg branch