Mercurial > hg
changeset 21704:65dd65c645ed stable
keyword: suppress keyword expansion while 'hg rebase' for internal merge
Before this patch, 'hg rebase' may cause unexpected conflict, if 'hg
rebase'-ed changes are located near lines in which keywords are
embedded, because keywords are substituted with other strings in the
working directory.
This patch suppresses keyword expansion while 'hg rebase' for internal
merge by adding 'rebase' to 'restricted' command list like 'merge'.
This patch specifies '--keep' to 'hg rebase', because revision #10 is
useful also for tests in succeeding patches.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 05 Jun 2014 16:47:13 +0900 |
parents | 99f7e5fe35f2 |
children | dd5ca1a32109 |
files | hgext/keyword.py tests/test-keyword.t |
diffstat | 2 files changed, 45 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/keyword.py Thu Jun 05 16:47:13 2014 +0900 +++ b/hgext/keyword.py Thu Jun 05 16:47:13 2014 +0900 @@ -103,7 +103,7 @@ # hg commands that trigger expansion only when writing to working dir, # not when reading filelog, and unexpand when reading from working dir restricted = ('merge kwexpand kwshrink record qrecord resolve transplant' - ' unshelve') + ' unshelve rebase') # names of extensions using dorecord recordextensions = 'record'
--- a/tests/test-keyword.t Thu Jun 05 16:47:13 2014 +0900 +++ b/tests/test-keyword.t Thu Jun 05 16:47:13 2014 +0900 @@ -1199,4 +1199,48 @@ $Xinfo$ +xxxx +Test restricted mode with rebase + + $ cat <<EOF >> $HGRCPATH + > [extensions] + > rebase = + > EOF + + $ hg update -q -C 9 + + $ echo xxxx >> a + $ hg commit -m '#11' + $ hg diff -c 11 + diff -r 800511b3a22d -r b07670694489 a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -2,3 +2,4 @@ + do not process $Id: + xxx $ + $Xinfo$ + +xxxx + + $ hg diff -c 10 + diff -r 27d48ee14f67 -r 4aa30d025d50 a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,3 +1,4 @@ + +foobranch + expand $Id$ + do not process $Id: + xxx $ + + $ hg rebase -q -s 10 -d 11 --keep + $ hg diff -r 9 -r 12 a + diff -r 800511b3a22d -r 1939b927726c a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,4 +1,6 @@ + +foobranch + expand $Id$ + do not process $Id: + xxx $ + $Xinfo$ + +xxxx + $ cd ..