Skip to content

Commit

Permalink
repack: place temporary packs under .git/objects/pack/
Browse files Browse the repository at this point in the history
git-pack-objects is already careful to start out its temporary packs
under .git/objects/pack/ (cf. 8b4eb6b, Do not perform cross-directory
renames when creating packs, 2008-09-22), but git-repack did not
respond in kind so the effort was lost when the filesystem boundary is
exactly at that directory.

Let git-repack pass a path under .git/objects/pack/ as the base for
its temporary packs.

This means we might need the $PACKDIR sooner (before the pack-objects
invocation), so move the mkdir up just to be safe.

Also note that the only use of *.pack is in the find invocation way
before the pack-objects call, so the temporary packs will not suddenly
show up in any wildcards because of the directory change.

Reported-by: Marat Radchenko <marat@slonopotamus.org>
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Thomas Rast authored and Junio C Hamano committed Oct 19, 2010
1 parent 87b5054 commit e32dfec
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions git-repack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ true)
esac

PACKDIR="$GIT_OBJECT_DIRECTORY/pack"
PACKTMP="$GIT_OBJECT_DIRECTORY/.tmp-$$-pack"
PACKTMP="$PACKDIR/.tmp-$$-pack"
rm -f "$PACKTMP"-*
trap 'rm -f "$PACKTMP"-*' 0 1 2 3 15

Expand Down Expand Up @@ -80,6 +80,8 @@ case ",$all_into_one," in
;;
esac

mkdir -p "$PACKDIR" || exit

args="$args $local ${GIT_QUIET:+-q} $no_reuse$extra"
names=$(git pack-objects --keep-true-parents --honor-pack-keep --non-empty --all --reflog $args </dev/null "$PACKTMP") ||
exit 1
Expand All @@ -88,7 +90,6 @@ if [ -z "$names" ]; then
fi

# Ok we have prepared all new packfiles.
mkdir -p "$PACKDIR" || exit

# First see if there are packs of the same name and if so
# if we can move them out of the way (this can happen if we
Expand Down

0 comments on commit e32dfec

Please sign in to comment.