[Bug 4479] New: transaction doesn't clean up old journal.backup.* files
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Sat Dec 20 05:50:20 UTC 2014
http://bz.selenic.com/show_bug.cgi?id=4479
Priority: normal
Bug ID: 4479
CC: mercurial-devel at selenic.com
Assignee: bugzilla at selenic.com
Summary: transaction doesn't clean up old journal.backup.*
files
Severity: bug
Classification: Unclassified
OS: Mac OS
Reporter: durham at fb.com
Hardware: PC
Status: UNCONFIRMED
Version: 3.2.2
Component: Mercurial
Product: Mercurial
If an old journal.backup.* file is still on disk when a new transaction starts,
it can interfere with the creation of the new transaction. When the new
transaction is closing and it begins to generate the final files, it uses
'util.copyfiles(filepath, backuppath, hardlink=hardlink)' in
transaction.addbackup to copy the original bookmarks/etc to the journal. If
the old journal.backup.bookmarks still exists, the hardlink fails (because
os.link doesn't overwrite files) and it resorts to using shutil.copy(). This
is undesirable because of the performance, but also because shutil.copy()
performs a chmod under the hood, which requires that the file be owned by the
user, and not just writable.
This can interfere with server infrastructure where multiple users can all push
to the repo by being in the same unix group.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list