diff options
author | Joey Hess <joey@kitenet.net> | 2014-06-09 18:01:30 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-06-09 19:40:28 -0400 |
commit | 7ce9a3793d91c210343a1e5ea60053dccab5a12c (patch) | |
tree | 5a5c262770118d790b0851e4ff6f1df4fddfaa39 /debian | |
parent | 3eeba159f25cd53773c48d131cae796b366a43a4 (diff) |
avoid bad commits after interrupted direct mode sync (or merge)
It was possible for a interrupted sync or merge in direct mode to
leave the work tree out of sync with the last recorded commit.
This would result in the next commit seeing files missing from the work
tree, and committing their removal.
Now, a direct mode merge happens not only in a throwaway work tree, but using
a temporary index file, and without any commits or index changes
being made until the real work tree has been updated. If the merge is
interrupted, the work tree may have some updated files, but worst case a
commit will redundantly commit changes that come from the merge.
This commit was sponsored by Tony Cantor.
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 612864faf..64225ea36 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,11 @@ git-annex (5.20140607) UNRELEASED; urgency=medium * Ignore setsid failures. * Avoid leaving behind .tmp files when failing in some cases, including importing files to a disk that is full. + * direct mode: Avoid committing a merge until after the work tree is + updated. This avoids an interrupted merge leaving the work tree out + of sync with the last commit, which could result in the wrong thing + being committed later, and files appearing to get deleted. + (They could be recovered by reverting the bad commit.) -- Joey Hess <joeyh@debian.org> Mon, 09 Jun 2014 14:44:09 -0400 |