mercurial/mdiff.py
changeset 7200 ca5ac40949dc
parent 6871 13fe85fe396b
child 7204 ad28279053ef
--- a/mercurial/mdiff.py	Wed Oct 22 12:56:28 2008 +0200
+++ b/mercurial/mdiff.py	Wed Oct 22 13:14:52 2008 +0200
@@ -66,6 +66,19 @@
         text = re.sub('\n+', '', text)
     return text
 
+def diffline(revs, a, b, opts):
+    parts = ['diff']
+    if opts.git:
+        parts.append('--git')
+    if revs and not opts.git:
+        parts.append(' '.join(["-r %s" % rev for rev in revs]))
+    if opts.git:
+        parts.append('a/%s' % a)
+        parts.append('b/%s' % b)
+    else:
+        parts.append(a)
+    return ' '.join(parts) + '\n'
+    
 def unidiff(a, ad, b, bd, fn1, fn2, r=None, opts=defaultopts):
     def datetag(date, addtab=True):
         if not opts.git and not opts.nodates:
@@ -113,8 +126,7 @@
             l[ln] += "\n\ No newline at end of file\n"
 
     if r:
-        l.insert(0, "diff %s %s\n" %
-                    (' '.join(["-r %s" % rev for rev in r]), fn1))
+        l.insert(0, diffline(r, fn1, fn2, opts))
 
     return "".join(l)