union merge bugfix

Union merges involving two or more repositories could sometimes result in
data from one repository getting lost. This could result in the location
log data becoming wrong, and fsck being needed to fix it.

NB: I audited for any other occurrences of this problem. There are other
places than union merge where multiple changes are fed into update-index
in a stream, but they all involve working copy files being staged, or their
deletion being staged, and in this case it's fine for the later changes
to override the earlier ones.
This commit is contained in:
Joey Hess 2013-01-16 21:31:06 -04:00
parent 65d9ced549
commit 0214e0fb17
2 changed files with 12 additions and 3 deletions

3
debian/changelog vendored
View file

@ -10,6 +10,9 @@ git-annex (3.20130115) UNRELEASED; urgency=low
in it that is not a git repository.
* Deal with incompatability in gpg2, which caused prompts for encryption
passphrases rather than using the supplied --passphrase-fd.
* bugfix: Union merges involving two or more repositories could sometimes
result in data from one repository getting lost. This could result
in the location log data becoming wrong, and fsck being needed to fix it.
-- Joey Hess <joeyh@debian.org> Mon, 14 Jan 2013 18:35:01 -0400