Rev 3914: (Adrian Wilkins) Work around bug #304023, in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Fri Dec 19 19:30:02 GMT 2008


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

------------------------------------------------------------
revno: 3914
revision-id: pqm at pqm.ubuntu.com-20081219192958-dyz8aazng866s7ld
parent: pqm at pqm.ubuntu.com-20081219185318-yy8xjch1yej1y59r
parent: adrian.wilkins at gmail.com-20081215140224-1he00o79jdg98zcd
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-12-19 19:29:58 +0000
message:
  (Adrian Wilkins) Work around bug #304023,
  	use a random temp name for AtomicFile.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/atomicfile.py           atomicfile.py-20050509044450-dbd24e6c564f7c66
    ------------------------------------------------------------
    revno: 3905.1.1
    revision-id: adrian.wilkins at gmail.com-20081215140224-1he00o79jdg98zcd
    parent: pqm at pqm.ubuntu.com-20081215052042-a9ttz3b70lsuie6q
    committer: Adrian Wilkins <adrian.wilkins at gmail.com>
    branch nick: bzr.atomicfile-cifs-win32-fix
    timestamp: Mon 2008-12-15 14:02:24 +0000
    message:
      AtomicFile names are now not invariant-per-process which stops multiple transactions on the same file breaking under unknown conditions on Windows CIFS shares
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/atomicfile.py           atomicfile.py-20050509044450-dbd24e6c564f7c66
=== modified file 'NEWS'
--- a/NEWS	2008-12-19 18:53:18 +0000
+++ b/NEWS	2008-12-19 19:29:58 +0000
@@ -36,6 +36,10 @@
 
   BUG FIXES:
   
+    * Fix a problem with CIFS client/server lag on windows colliding with
+      an invariant-per-process algorithm for generating AtomicFile names
+      (Adrian Wilkins, #304023)
+
     * Allow BzrDir implementation to implement backing up of 
       control directory. (#139691)
 

=== modified file 'bzrlib/atomicfile.py'
--- a/bzrlib/atomicfile.py	2008-08-16 04:00:54 +0000
+++ b/bzrlib/atomicfile.py	2008-12-15 14:02:24 +0000
@@ -55,7 +55,8 @@
         if _hostname is None:
             _hostname = osutils.get_host_name()
 
-        self.tmpfilename = '%s.%d.%s.tmp' % (filename, _pid, _hostname)
+        self.tmpfilename = '%s.%d.%s.%s.tmp' % (filename, _pid, _hostname,
+                                                osutils.rand_chars(10))
 
         self.realfilename = filename
         




More information about the bazaar-commits mailing list