зеркало из https://github.com/microsoft/git.git
Add "git repack" command that does an incremental pack
This commit is contained in:
Родитель
1c4a291202
Коммит
b2d46199d2
2
Makefile
2
Makefile
|
@ -31,7 +31,7 @@ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \
|
||||||
git-fetch-script git-status-script git-commit-script \
|
git-fetch-script git-status-script git-commit-script \
|
||||||
git-log-script git-shortlog git-cvsimport-script git-diff-script \
|
git-log-script git-shortlog git-cvsimport-script git-diff-script \
|
||||||
git-reset-script git-add-script git-checkout-script git-clone-script \
|
git-reset-script git-add-script git-checkout-script git-clone-script \
|
||||||
gitk git-cherry git-rebase-script git-relink-script
|
gitk git-cherry git-rebase-script git-relink-script git-repack-script
|
||||||
|
|
||||||
PROG= git-update-cache git-diff-files git-init-db git-write-tree \
|
PROG= git-update-cache git-diff-files git-init-db git-write-tree \
|
||||||
git-read-tree git-commit-tree git-cat-file git-fsck-cache \
|
git-read-tree git-commit-tree git-cat-file git-fsck-cache \
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
: ${GIT_DIR=.git}
|
||||||
|
: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
|
||||||
|
packname=$(date +"pack-%s")
|
||||||
|
if [ -f "$GIT_OBJECT_DIRECTORY/pack/$packname.idx" ]; then
|
||||||
|
echo Pack $packname already exists
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rm -f $packname.idx $packname.pack
|
||||||
|
git-rev-list --unpacked --objects $(git-rev-parse --all) |
|
||||||
|
git-pack-objects --non-empty --incremental $packname ||
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
if [ ! -f $packname.idx ]; then
|
||||||
|
echo Nothing new to pack
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
mv $packname.idx $packname.pack "$GIT_OBJECT_DIRECTORY/pack/"
|
Загрузка…
Ссылка в новой задаче