diff mercurial/patch.py @ 30807:6381a6dbc325

patch: use opt.showsimilarity to calculate and show the similarity Tests have been added.
author Sean Farley <sean@farley.io>
date Mon, 09 Jan 2017 11:24:18 -0800
parents e2796f193f06
children 8540967cd9e0
line wrap: on
line diff
--- a/mercurial/patch.py	Mon Jan 09 10:51:44 2017 -0800
+++ b/mercurial/patch.py	Mon Jan 09 11:24:18 2017 -0800
@@ -35,6 +35,7 @@
     mdiff,
     pathutil,
     scmutil,
+    similar,
     util,
 )
 stringio = util.stringio
@@ -2521,6 +2522,9 @@
                     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: