Comments
Patch
@@ -33,10 +33,11 @@ from . import (
error,
mail,
mdiff,
pathutil,
scmutil,
+ similar,
util,
)
stringio = util.stringio
gitre = re.compile('diff --git a/(.*) b/(.*)')
@@ -2519,10 +2520,13 @@ def trydiff(repo, revs, ctx1, ctx2, modi
mode1, mode2 = gitmode[flag1], gitmode[flag2]
if mode1 != mode2:
header.append('old mode %s' % mode1)
header.append('new mode %s' % mode2)
if copyop is not None:
+ if opts.showsimilarity:
+ sim = similar.score(ctx1[path1], ctx2[path2]) * 100
+ header.append('similarity index %d%%' % sim)
header.append('%s from %s' % (copyop, path1))
header.append('%s to %s' % (copyop, path2))
elif revs and not repo.ui.quiet:
header.append(diffline(path1, revs))
@@ -227,10 +227,24 @@ Git diff, adding space
+++ b/f 1
@@ -1,1 +1,1 @@
-a
+b
+Git diff, adding extended headers
+
+ $ hg diff --git --config experimental.extendedheader.index=7 --config experimental.extendedheader.similarity=True
+ diff --git a/f1 b/f 1
+ similarity index 0%
+ rename from f1
+ rename to f 1
+ index 7898192..6178079 100644
+ --- a/f1
+ +++ b/f 1
+ @@ -1,1 +1,1 @@
+ -a
+ +b
+
Git diff with noprefix
$ hg --config diff.noprefix=True diff --git --nodates
diff --git f1 f 1
rename from f1