diff hgext/extdiff.py @ 4096:49237d6ae97d

merge with crew-stable
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 16 Feb 2007 05:27:37 -0200
parents 656e06eebda7 0ff50cc7acb4
children eadfaa9ec487
line wrap: on
line diff
--- a/hgext/extdiff.py	Thu Feb 15 10:15:08 2007 -0200
+++ b/hgext/extdiff.py	Fri Feb 16 05:27:37 2007 -0200
@@ -57,7 +57,10 @@
     def snapshot_node(files, node):
         '''snapshot files as of some revision'''
         mf = repo.changectx(node).manifest()
-        dirname = '%s.%s' % (os.path.basename(repo.root), short(node))
+        dirname = os.path.basename(repo.root)
+        if dirname == "":
+            dirname = "root"
+        dirname = '%s.%s' % (dirname, short(node))
         base = os.path.join(tmproot, dirname)
         os.mkdir(base)
         if not ui.quiet:
@@ -74,7 +77,7 @@
             if not os.path.isdir(destdir):
                 os.makedirs(destdir)
             data = repo.wwritedata(wfn, repo.file(wfn).read(mf[wfn]))
-            open(dest, 'w').write(data)
+            open(dest, 'wb').write(data)
         return dirname
 
     def snapshot_wdir(files):
@@ -82,6 +85,8 @@
         if not using snapshot, -I/-X does not work and recursive diff
         in tools like kdiff3 and meld displays too many files.'''
         dirname = os.path.basename(repo.root)
+        if dirname == "":
+            dirname = "root"
         base = os.path.join(tmproot, dirname)
         os.mkdir(base)
         if not ui.quiet:
@@ -94,7 +99,7 @@
             destdir = os.path.dirname(dest)
             if not os.path.isdir(destdir):
                 os.makedirs(destdir)
-            fp = open(dest, 'w')
+            fp = open(dest, 'wb')
             for chunk in util.filechunkiter(repo.wopener(wfn)):
                 fp.write(chunk)
         return dirname