# HG changeset patch # User Matt Harbison # Date 2015-01-10 17:00:03 # Node ID 6bf93440a717b431abc461c7832e7fcb7a9424a8 # Parent 45c95e2f99ad5c4defd542c06c8280cbf31e0949 branchmap: add seek() to end of file before calling tell() on append open() This is similar to 48c232873a54, which was subsequently modified in 19f5dec2d61f for 2.4. Unexpected test changes on Windows occurred without this. diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py --- a/mercurial/branchmap.py +++ b/mercurial/branchmap.py @@ -407,6 +407,9 @@ class revbranchcache(object): try: if self._rbcnamescount != 0: f = repo.vfs.open(_rbcnames, 'ab') + # The position after open(x, 'a') is implementation defined- + # see issue3543. SEEK_END was added in 2.5 + f.seek(0, 2) #os.SEEK_END if f.tell() == self._rbcsnameslen: f.write('\0') else: @@ -431,6 +434,9 @@ class revbranchcache(object): len(self._rbcrevs) // _rbcrecsize) try: f = repo.vfs.open(_rbcrevs, 'ab') + # The position after open(x, 'a') is implementation defined- + # see issue3543. SEEK_END was added in 2.5 + f.seek(0, 2) #os.SEEK_END if f.tell() != start: f.seek(start) f.truncate()