Browse Source

git-repack: allow passing a couple of flags to pack-objects.

A new flag -q makes underlying pack-objects less chatty.
A new flag -f forces delta to be recomputed from scratch.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 19 years ago
parent
commit
4181bda156
  1. 10
      Documentation/git-repack.txt
  2. 13
      git-repack.sh

10
Documentation/git-repack.txt

@ -9,7 +9,7 @@ objects into pack files.


SYNOPSIS SYNOPSIS
-------- --------
'git-repack' [-a] [-d] [-l] [-n] 'git-repack' [-a] [-d] [-f] [-l] [-n] [-q]


DESCRIPTION DESCRIPTION
----------- -----------
@ -43,6 +43,14 @@ OPTIONS
Pass the `--local` option to `git pack-objects`, see Pass the `--local` option to `git pack-objects`, see
gitlink:git-pack-objects[1]. gitlink:git-pack-objects[1].


-f::
Pass the `--no-reuse-delta` option to `git pack-objects`, see
gitlink:git-pack-objects[1].

-q::
Pass the `-q` option to `git pack-objects`, see
gitlink:git-pack-objects[1].

-n:: -n::
Do not update the server information with Do not update the server information with
`git update-server-info`. `git update-server-info`.

13
git-repack.sh

@ -3,17 +3,20 @@
# Copyright (c) 2005 Linus Torvalds # Copyright (c) 2005 Linus Torvalds
# #


USAGE='[-a] [-d] [-l] [-n]' USAGE='[-a] [-d] [-f] [-l] [-n] [-q]'
. git-sh-setup . git-sh-setup
no_update_info= all_into_one= remove_redundant= local= no_update_info= all_into_one= remove_redundant=
local= quiet= no_reuse_delta=
while case "$#" in 0) break ;; esac while case "$#" in 0) break ;; esac
do do
case "$1" in case "$1" in
-n) no_update_info=t ;; -n) no_update_info=t ;;
-a) all_into_one=t ;; -a) all_into_one=t ;;
-d) remove_redundant=t ;; -d) remove_redundant=t ;;
-l) local=t ;; -q) quiet=-q ;;
-f) no_reuse_delta=--no-reuse-delta ;;
-l) local=--local ;;
*) usage ;; *) usage ;;
esac esac
shift shift
@ -39,9 +42,7 @@ case ",$all_into_one," in
find . -type f \( -name '*.pack' -o -name '*.idx' \) -print` find . -type f \( -name '*.pack' -o -name '*.idx' \) -print`
;; ;;
esac esac
if [ "$local" ]; then pack_objects="$pack_objects $local $quiet $no_reuse_delta"
pack_objects="$pack_objects --local"
fi
name=$(git-rev-list --objects $rev_list $(git-rev-parse $rev_parse) 2>&1 | name=$(git-rev-list --objects $rev_list $(git-rev-parse $rev_parse) 2>&1 |
git-pack-objects --non-empty $pack_objects .tmp-pack) || git-pack-objects --non-empty $pack_objects .tmp-pack) ||
exit 1 exit 1

Loading…
Cancel
Save