Rev 5940: (Martin von Gagern) Use transport.move instead of transport.rename to in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Tue May 31 12:56:48 UTC 2011


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 5940 [merge]
revision-id: pqm at pqm.ubuntu.com-20110531125646-a1k5q7foqxlnmmr1
parent: pqm at pqm.ubuntu.com-20110530161324-q4hj82ijys8lg6j2
parent: john at arbash-meinel.com-20110531121305-qclyyld0eoar6auy
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2011-05-31 12:56:46 +0000
message:
  (Martin von Gagern) Use transport.move instead of transport.rename to
  	allow overwriting pack files over sftp, (bug #421776)
modified:
  bzrlib/repofmt/pack_repo.py    pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
  doc/en/release-notes/bzr-2.4.txt bzr2.4.txt-20110114053217-k7ym9jfz243fddjm-1
=== modified file 'bzrlib/repofmt/pack_repo.py'
--- a/bzrlib/repofmt/pack_repo.py	2011-05-09 12:01:12 +0000
+++ b/bzrlib/repofmt/pack_repo.py	2011-05-27 12:01:22 +0000
@@ -314,10 +314,10 @@
         for index_type in index_types:
             old_name = self.index_name(index_type, self.name)
             new_name = '../indices/' + old_name
-            self.upload_transport.rename(old_name, new_name)
+            self.upload_transport.move(old_name, new_name)
             self._replace_index_with_readonly(index_type)
         new_name = '../packs/' + self.file_name()
-        self.upload_transport.rename(self.file_name(), new_name)
+        self.upload_transport.move(self.file_name(), new_name)
         self._state = 'finished'
 
     def _get_external_refs(self, index):
@@ -503,7 +503,7 @@
         new_name = self.name + '.pack'
         if not suspend:
             new_name = '../packs/' + new_name
-        self.upload_transport.rename(self.random_name, new_name)
+        self.upload_transport.move(self.random_name, new_name)
         self._state = 'finished'
         if 'pack' in debug.debug_flags:
             # XXX: size might be interesting?
@@ -1211,7 +1211,7 @@
         """
         for pack in packs:
             try:
-                pack.pack_transport.rename(pack.file_name(),
+                pack.pack_transport.move(pack.file_name(),
                     '../obsolete_packs/' + pack.file_name())
             except (errors.PathError, errors.TransportError), e:
                 # TODO: Should these be warnings or mutters?
@@ -1225,7 +1225,7 @@
                 suffixes.append('.cix')
             for suffix in suffixes:
                 try:
-                    self._index_transport.rename(pack.name + suffix,
+                    self._index_transport.move(pack.name + suffix,
                         '../obsolete_packs/' + pack.name + suffix)
                 except (errors.PathError, errors.TransportError), e:
                     mutter("couldn't rename obsolete index, skipping it:\n%s"

=== modified file 'doc/en/release-notes/bzr-2.4.txt'
--- a/doc/en/release-notes/bzr-2.4.txt	2011-05-29 16:22:46 +0000
+++ b/doc/en/release-notes/bzr-2.4.txt	2011-05-31 12:13:05 +0000
@@ -39,6 +39,10 @@
 * Fix a race condition for ``server_started`` hooks leading to a spurious
   test failure. (Vincent Ladeuil, #789167)
 
+* ``pack_repo`` now uses ``Transport.move`` instead of
+  ``Transport.rename``, deleting any existing targets even on SFTP.
+  (Martin von Gagern, #421776)
+
 * Pass the ``build_mo`` command to the rest of the setup() calls in
   setup.py. The ``bdist_wininst`` and ``py2exe`` code paths were failing
   because ``build_mo`` became a required step that they didn't know about.




More information about the bazaar-commits mailing list