Mercurial > hg
changeset 14045:1c38777f7b8a
extdiff: add repository root as a variable
Some external diff tools (notably Plan 9 diff(1)) require the absolute path
to the file being diffed for proper function. A root variable was added to
inform an external tool of the repository root (the tool is invoked with the
cwd set to tmproot).
author | Steven Stallion <sstallion@gmail.com> |
---|---|
date | Wed, 27 Apr 2011 21:55:46 -0400 |
parents | 0528b69f8db4 |
children | b24e5a708fad |
files | hgext/extdiff.py |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/extdiff.py Sun Apr 17 23:08:35 2011 +0800 +++ b/hgext/extdiff.py Wed Apr 27 21:55:46 2011 -0400 @@ -40,6 +40,7 @@ $parent1, $plabel1 - filename, descriptive label of first parent $child, $clabel - filename, descriptive label of child revision $parent2, $plabel2 - filename, descriptive label of second parent + $root - repository root $parent is an alias for $parent1. The extdiff extension will look in your [diff-tools] and [merge-tools] @@ -205,7 +206,8 @@ # returned for parent2 replace = dict(parent=dir1a, parent1=dir1a, parent2=dir1b, plabel1=label1a, plabel2=label1b, - clabel=label2, child=dir2) + clabel=label2, child=dir2, + root=repo.root) def quote(match): key = match.group()[1:] if not do3way and key == 'parent2': @@ -213,7 +215,7 @@ return util.shellquote(replace[key]) # Match parent2 first, so 'parent1?' will match both parent1 and parent - regex = '\$(parent2|parent1?|child|plabel1|plabel2|clabel)' + regex = '\$(parent2|parent1?|child|plabel1|plabel2|clabel|root)' if not do3way and not re.search(regex, args): args += ' $parent1 $child' args = re.sub(regex, quote, args)