# HG changeset patch # User FUJIWARA Katsunori # Date 1401954434 -32400 # Node ID 5c64c338fa9f063e4bf431f8c819152a67f0b806 # Parent dd5ca1a3210917c9f4b0b050d496f42ef1191ccb keyword: suppress keyword expansion while 'hg backout' for internal merge Before this patch, 'hg backout' may cause unexpected conflict, if 'hg backout'-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 backout' for internal merge by adding 'backout' to 'restricted' command list like 'merge'. diff -r dd5ca1a32109 -r 5c64c338fa9f hgext/keyword.py --- a/hgext/keyword.py Thu Jun 05 16:47:14 2014 +0900 +++ b/hgext/keyword.py Thu Jun 05 16:47:14 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 rebase graft') + ' unshelve rebase graft backout') # names of extensions using dorecord recordextensions = 'record' diff -r dd5ca1a32109 -r 5c64c338fa9f tests/test-keyword.t --- a/tests/test-keyword.t Thu Jun 05 16:47:14 2014 +0900 +++ b/tests/test-keyword.t Thu Jun 05 16:47:14 2014 +0900 @@ -1258,4 +1258,17 @@ $Xinfo$ +xxxx +Test restricted mode with backout + + $ hg backout -q 11 + $ hg diff a + diff -r 01a68de1003a a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a * (glob) + @@ -3,4 +3,3 @@ + do not process $Id: + xxx $ + $Xinfo$ + -xxxx + $ cd ..