hgext/convert/subversion.py
changeset 6716 c9b8d2565b92
parent 6557 f2bd49752f0d
child 6762 f67d1468ac50
--- a/hgext/convert/subversion.py	Thu Jun 19 00:14:23 2008 +0200
+++ b/hgext/convert/subversion.py	Thu Jun 19 00:14:24 2008 +0200
@@ -1013,12 +1013,6 @@
                 if 'x' in flags:
                     self.setexec.append(filename)
 
-    def delfile(self, name):
-        self.delete.append(name)
-
-    def copyfile(self, source, dest):
-        self.copies.append([source, dest])
-
     def _copyfile(self, source, dest):
         # SVN's copy command pukes if the destination file exists, but
         # our copyfile method expects to record a copy that has
@@ -1081,7 +1075,20 @@
     def revid(self, rev):
         return u"svn:%s@%s" % (self.uuid, rev)
 
-    def putcommit(self, files, parents, commit):
+    def putcommit(self, files, copies, parents, commit, source):
+        # Apply changes to working copy
+        for f, v in files:
+            try:
+                data = source.getfile(f, v)
+            except IOError, inst:
+                self.delete.append(f)
+            else:
+                e = source.getmode(f, v)
+                self.putfile(f, e, data)
+                if f in copies:
+                    self.copies.append([copies[f], f])
+        files = [f[0] for f in files]
+
         for parent in parents:
             try:
                 return self.revid(self.childmap[parent])