author | Karsten Blees <karsten.blees@dcon.de> | |
Tue, 6 Mar 2012 09:18:41 +0000 (10:18 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 7 Mar 2012 18:24:33 +0000 (10:24 -0800) | ||
commit | d34e70d6b89b33c398403e872c0dd751d44c7844 | |
tree | b674f854d00d2145951d93076eb5f5c426d8de24 | tree | snapshot |
parent | 0dbe6592ccbd1a394a69a52074e3729d546fe952 | commit | diff |
fix deletion of .git/objects sub-directories in git-prune/repack
Both git-prune and git-repack (and thus, git-gc) try to rmdir while
holding a DIR* handle on the directory. This can leave dangling
empty directories in the .git/objects on platforms where directory
cannot be removed while they are open.
First call closedir() and then rmdir(); that is more logical ordering.
Reported-by: John Chen <john0312@gmail.com>
Reported-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Improved-and-Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Both git-prune and git-repack (and thus, git-gc) try to rmdir while
holding a DIR* handle on the directory. This can leave dangling
empty directories in the .git/objects on platforms where directory
cannot be removed while they are open.
First call closedir() and then rmdir(); that is more logical ordering.
Reported-by: John Chen <john0312@gmail.com>
Reported-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Karsten Blees <blees@dcon.de>
Improved-and-Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/prune-packed.c | diff | blob | history | |
builtin/prune.c | diff | blob | history |