Slow and ugly work around for bug #718517 in git, which broke git-cat-file --batch for filenames containing spaces.

This runs git-cat-file in non-batch mode for all files with spaces.
If a directory tree has a lot of them, and is in direct mode, even "git
annex add" when there are few new files will need a *lot* of forks!

The only reason buffering the whole file content to get the sha is not a
memory leak is that git-annex only ever uses this on symlinks.

This needs to be reverted as soon as a fix is available in git!
This commit is contained in:
Joey Hess 2013-08-01 17:30:47 -04:00
parent 4e6f498cb8
commit d16114d024
3 changed files with 48 additions and 11 deletions

2
debian/changelog vendored
View file

@ -39,6 +39,8 @@ git-annex (4.20130724) UNRELEASED; urgency=low
* find: Avoid polluting stdout with progress messages. Closes: #718186
* Escape ':' in file/directory names to avoid it being treated
as a pathspec by some git commands. Closes: #718185
* Slow and ugly work around for bug #718517 in git, which broke
git-cat-file --batch for filenames containing spaces.
-- Joey Hess <joeyh@debian.org> Tue, 23 Jul 2013 12:39:48 -0400