swh:1:snp:47f1e8bb459169b0feb652a9c3d9cbabd8526d4a
Revision ffa84ffb77b06f9793967fb4f4dd5c946da8e341 authored by Roland Dreier on 25 February 2007, 17:34:27 UTC, committed by Junio C Hamano on 25 February 2007, 18:50:12 UTC
If a repository ever gets in a situation where there are too many
packs (more than 60 or so), perhaps because of frequent use of
git-fetch -k or incremental git-repack, then it becomes impossible to
fully repack the repository with git-repack -a.  That command just
dies with the cryptic message

    fatal: too many internal rev-list options

This message comes from git-pack-objects, which is passed one command
line option like --unpacked=pack-<SHA1>.pack for each pack file to be
repacked.  However, the current code has a static limit of 64 command
line arguments and just aborts if more arguments are passed to it.

Fix this by dynamically allocating the array of command line
arguments, and doubling the size each time it overflows.

Signed-off-by: Roland Dreier <roland@digitalvampire.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
1 parent 1289172
History
Tip revision: 84d06cdc06389ae7c462434cb7b1db0980f63860 authored by Junio C Hamano on 26 March 2021, 21:59:47 UTC
Sync with v2.31.1
Tip revision: 84d06cd
File Mode Size
Documentation
arm
compat
contrib
git-gui
gitweb
mozilla-sha1
perl
ppc
t
templates
xdiff
.gitignore -rw-r--r-- 2.1 KB
.mailmap -rw-r--r-- 1.5 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 759 bytes
INSTALL -rw-r--r-- 4.1 KB
Makefile -rw-r--r-- 27.4 KB
README -rw-r--r-- 1.9 KB
RelNotes l--------- 34 bytes
alloc.c -rw-r--r-- 1.4 KB
archive-tar.c -rw-r--r-- 8.1 KB
archive-zip.c -rw-r--r-- 8.8 KB
archive.h -rw-r--r-- 1.1 KB
base85.c -rw-r--r-- 2.9 KB
blob.c -rw-r--r-- 1.2 KB
blob.h -rw-r--r-- 311 bytes
builtin-add.c -rw-r--r-- 4.4 KB
builtin-annotate.c -rw-r--r-- 447 bytes
builtin-apply.c -rw-r--r-- 66.1 KB
builtin-archive.c -rw-r--r-- 5.8 KB
builtin-blame.c -rw-r--r-- 58.6 KB
builtin-branch.c -rw-r--r-- 11.8 KB
builtin-cat-file.c -rw-r--r-- 3.2 KB
builtin-check-ref-format.c -rw-r--r-- 282 bytes
builtin-checkout-index.c -rw-r--r-- 7.6 KB
builtin-commit-tree.c -rw-r--r-- 3.9 KB
builtin-config.c -rw-r--r-- 5.4 KB
builtin-count-objects.c -rw-r--r-- 2.9 KB
builtin-describe.c -rw-r--r-- 6.6 KB
builtin-diff-files.c -rw-r--r-- 1.3 KB
builtin-diff-index.c -rw-r--r-- 1.0 KB
builtin-diff-stages.c -rw-r--r-- 2.5 KB
builtin-diff-tree.c -rw-r--r-- 3.2 KB
builtin-diff.c -rw-r--r-- 8.6 KB
builtin-fmt-merge-msg.c -rw-r--r-- 7.7 KB
builtin-for-each-ref.c -rw-r--r-- 20.6 KB
builtin-fsck.c -rw-r--r-- 15.7 KB
builtin-grep.c -rw-r--r-- 16.3 KB
builtin-init-db.c -rw-r--r-- 8.8 KB
builtin-log.c -rw-r--r-- 18.0 KB
builtin-ls-files.c -rw-r--r-- 11.7 KB
builtin-ls-tree.c -rw-r--r-- 3.5 KB
builtin-mailinfo.c -rw-r--r-- 16.7 KB
builtin-mailsplit.c -rw-r--r-- 4.1 KB
builtin-merge-file.c -rw-r--r-- 1.5 KB
builtin-mv.c -rw-r--r-- 7.4 KB
builtin-name-rev.c -rw-r--r-- 5.4 KB
builtin-pack-objects.c -rw-r--r-- 42.6 KB
builtin-pack-refs.c -rw-r--r-- 2.9 KB
builtin-prune-packed.c -rw-r--r-- 1.8 KB
builtin-prune.c -rw-r--r-- 1.9 KB
builtin-push.c -rw-r--r-- 8.8 KB
builtin-read-tree.c -rw-r--r-- 6.5 KB
builtin-reflog.c -rw-r--r-- 9.7 KB
builtin-rerere.c -rw-r--r-- 10.2 KB
builtin-rev-list.c -rw-r--r-- 6.4 KB
builtin-rev-parse.c -rw-r--r-- 7.8 KB
builtin-rm.c -rw-r--r-- 5.5 KB
builtin-runstatus.c -rw-r--r-- 812 bytes
builtin-shortlog.c -rw-r--r-- 7.9 KB
builtin-show-branch.c -rw-r--r-- 21.1 KB
builtin-show-ref.c -rw-r--r-- 5.8 KB
builtin-stripspace.c -rw-r--r-- 1012 bytes
builtin-symbolic-ref.c -rw-r--r-- 1.3 KB
builtin-tar-tree.c -rw-r--r-- 2.1 KB
builtin-unpack-objects.c -rw-r--r-- 9.0 KB
builtin-update-index.c -rw-r--r-- 16.7 KB
builtin-update-ref.c -rw-r--r-- 1.5 KB
builtin-upload-archive.c -rw-r--r-- 4.1 KB
builtin-verify-pack.c -rw-r--r-- 1.7 KB
builtin-write-tree.c -rw-r--r-- 2.1 KB
builtin.h -rw-r--r-- 5.3 KB
cache-tree.c -rw-r--r-- 12.5 KB
cache-tree.h -rw-r--r-- 921 bytes
cache.h -rw-r--r-- 16.7 KB
check-builtins.sh -rwxr-xr-x 588 bytes
check-racy.c -rw-r--r-- 517 bytes
color.c -rw-r--r-- 3.2 KB
color.h -rw-r--r-- 376 bytes
combine-diff.c -rw-r--r-- 25.7 KB
commit.c -rw-r--r-- 27.2 KB
commit.h -rw-r--r-- 3.6 KB
config.c -rw-r--r-- 19.8 KB
config.mak.in -rw-r--r-- 906 bytes
configure.ac -rw-r--r-- 10.8 KB
connect.c -rw-r--r-- 17.2 KB
convert-objects.c -rw-r--r-- 7.3 KB
copy.c -rw-r--r-- 692 bytes
csum-file.c -rw-r--r-- 2.9 KB
csum-file.h -rw-r--r-- 566 bytes
ctype.c -rw-r--r-- 890 bytes
daemon.c -rw-r--r-- 26.2 KB
date.c -rw-r--r-- 17.0 KB
delta.h -rw-r--r-- 3.2 KB
diff-delta.c -rw-r--r-- 13.8 KB
diff-lib.c -rw-r--r-- 9.9 KB
diff.c -rw-r--r-- 70.5 KB
diff.h -rw-r--r-- 6.8 KB
diffcore-break.c -rw-r--r-- 8.5 KB
diffcore-delta.c -rw-r--r-- 5.1 KB
diffcore-order.c -rw-r--r-- 2.2 KB
diffcore-pickaxe.c -rw-r--r-- 3.2 KB
diffcore-rename.c -rw-r--r-- 13.0 KB
diffcore.h -rw-r--r-- 3.7 KB
dir.c -rw-r--r-- 9.5 KB
dir.h -rw-r--r-- 1.7 KB
dump-cache-tree.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 4.2 KB
environment.c -rw-r--r-- 2.5 KB
exec_cmd.c -rw-r--r-- 2.8 KB
exec_cmd.h -rw-r--r-- 295 bytes
fast-import.c -rw-r--r-- 50.4 KB
fetch-pack.c -rw-r--r-- 17.4 KB
fetch.c -rw-r--r-- 6.6 KB
fetch.h -rw-r--r-- 1.6 KB
generate-cmdlist.sh -rwxr-xr-x 544 bytes
git-add--interactive.perl -rwxr-xr-x 15.9 KB
git-am.sh -rwxr-xr-x 11.1 KB
git-applymbox.sh -rwxr-xr-x 2.8 KB
git-applypatch.sh -rwxr-xr-x 5.4 KB
git-archimport.perl -rwxr-xr-x 34.5 KB
git-bisect.sh -rwxr-xr-x 5.8 KB
git-checkout.sh -rwxr-xr-x 6.6 KB
git-clean.sh -rwxr-xr-x 1.5 KB
git-clone.sh -rwxr-xr-x 9.7 KB
git-commit.sh -rwxr-xr-x 13.7 KB
git-compat-util.h -rw-r--r-- 6.5 KB
git-cvsexportcommit.perl -rwxr-xr-x 7.5 KB
git-cvsimport.perl -rwxr-xr-x 26.3 KB
git-cvsserver.perl -rwxr-xr-x 91.3 KB
git-fetch.sh -rwxr-xr-x 11.4 KB
git-gc.sh -rwxr-xr-x 616 bytes
git-instaweb.sh -rwxr-xr-x 5.2 KB
git-lost-found.sh -rwxr-xr-x 460 bytes
git-ls-remote.sh -rwxr-xr-x 2.4 KB
git-merge-octopus.sh -rwxr-xr-x 2.4 KB
git-merge-one-file.sh -rwxr-xr-x 3.1 KB
git-merge-ours.sh -rwxr-xr-x 356 bytes
git-merge-resolve.sh -rwxr-xr-x 956 bytes
git-merge-stupid.sh -rwxr-xr-x 1.4 KB
git-merge.sh -rwxr-xr-x 10.6 KB
git-p4import.py -rw-r--r-- 10.5 KB
git-parse-remote.sh -rwxr-xr-x 6.5 KB
git-pull.sh -rwxr-xr-x 3.2 KB
git-quiltimport.sh -rwxr-xr-x 3.0 KB
git-rebase.sh -rwxr-xr-x 8.3 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote.perl -rwxr-xr-x 7.8 KB
git-repack.sh -rwxr-xr-x 2.6 KB
git-request-pull.sh -rwxr-xr-x 847 bytes
git-reset.sh -rwxr-xr-x 2.3 KB
git-resolve.sh -rwxr-xr-x 2.7 KB
git-revert.sh -rwxr-xr-x 4.4 KB
git-send-email.perl -rwxr-xr-x 15.4 KB
git-sh-setup.sh -rwxr-xr-x 1.7 KB
git-svn.perl -rwxr-xr-x 80.3 KB
git-svnimport.perl -rwxr-xr-x 24.7 KB
git-tag.sh -rwxr-xr-x 3.1 KB
git-verify-tag.sh -rwxr-xr-x 741 bytes
git.c -rw-r--r-- 10.6 KB
git.spec.in -rw-r--r-- 7.3 KB
gitk -rwxr-xr-x 170.9 KB
grep.c -rw-r--r-- 12.8 KB
grep.h -rw-r--r-- 1.6 KB
hash-object.c -rw-r--r-- 1.8 KB
help.c -rw-r--r-- 4.8 KB
http-fetch.c -rw-r--r-- 26.1 KB
http-push.c -rw-r--r-- 66.3 KB
http.c -rw-r--r-- 11.3 KB
http.h -rw-r--r-- 2.5 KB
ident.c -rw-r--r-- 5.5 KB
imap-send.c -rw-r--r-- 28.5 KB
index-pack.c -rw-r--r-- 24.7 KB
interpolate.c -rw-r--r-- 2.0 KB
interpolate.h -rw-r--r-- 583 bytes
list-objects.c -rw-r--r-- 3.3 KB
list-objects.h -rw-r--r-- 382 bytes
local-fetch.c -rw-r--r-- 6.1 KB
lockfile.c -rw-r--r-- 1.5 KB
log-tree.c -rw-r--r-- 9.1 KB
log-tree.h -rw-r--r-- 386 bytes
merge-base.c -rw-r--r-- 1.1 KB
merge-file.c -rw-r--r-- 2.3 KB
merge-index.c -rw-r--r-- 2.7 KB
merge-recursive.c -rw-r--r-- 34.5 KB
merge-tree.c -rw-r--r-- 7.8 KB
mktag.c -rw-r--r-- 3.9 KB
mktree.c -rw-r--r-- 3.1 KB
object-refs.c -rw-r--r-- 3.0 KB
object.c -rw-r--r-- 5.4 KB
object.h -rw-r--r-- 2.4 KB
pack-check.c -rw-r--r-- 4.1 KB
pack-redundant.c -rw-r--r-- 14.3 KB
pack.h -rw-r--r-- 1.6 KB
pager.c -rw-r--r-- 1.1 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-id.c -rw-r--r-- 1.6 KB
path-list.c -rw-r--r-- 2.2 KB
path-list.h -rw-r--r-- 603 bytes
path.c -rw-r--r-- 6.1 KB
peek-remote.c -rw-r--r-- 1.4 KB
pkt-line.c -rw-r--r-- 2.5 KB
pkt-line.h -rw-r--r-- 348 bytes
quote.c -rw-r--r-- 8.1 KB
quote.h -rw-r--r-- 2.1 KB
reachable.c -rw-r--r-- 4.8 KB
reachable.h -rw-r--r-- 127 bytes
read-cache.c -rw-r--r-- 24.9 KB
receive-pack.c -rw-r--r-- 10.9 KB
reflog-walk.c -rw-r--r-- 6.7 KB
reflog-walk.h -rw-r--r-- 384 bytes
refs.c -rw-r--r-- 30.2 KB
refs.h -rw-r--r-- 2.2 KB
revision.c -rw-r--r-- 31.2 KB
revision.h -rw-r--r-- 3.1 KB
rsh.c -rw-r--r-- 1.7 KB
rsh.h -rw-r--r-- 159 bytes
run-command.c -rw-r--r-- 1.8 KB
run-command.h -rw-r--r-- 594 bytes
send-pack.c -rw-r--r-- 9.7 KB
server-info.c -rw-r--r-- 5.1 KB
setup.c -rw-r--r-- 6.7 KB
sha1_file.c -rw-r--r-- 52.1 KB
sha1_name.c -rw-r--r-- 14.1 KB
shallow.c -rw-r--r-- 2.3 KB
shell.c -rw-r--r-- 1.1 KB
show-index.c -rw-r--r-- 594 bytes
sideband.c -rw-r--r-- 1.9 KB
sideband.h -rw-r--r-- 335 bytes
ssh-fetch.c -rw-r--r-- 3.6 KB
ssh-pull.c -rw-r--r-- 154 bytes
ssh-push.c -rw-r--r-- 155 bytes
ssh-upload.c -rw-r--r-- 2.8 KB
strbuf.c -rw-r--r-- 768 bytes
strbuf.h -rw-r--r-- 216 bytes
tag.c -rw-r--r-- 2.6 KB
tag.h -rw-r--r-- 471 bytes
tar.h -rw-r--r-- 644 bytes
test-date.c -rw-r--r-- 378 bytes
test-delta.c -rw-r--r-- 1.7 KB
test-sha1.c -rw-r--r-- 815 bytes
test-sha1.sh -rwxr-xr-x 1.9 KB
trace.c -rw-r--r-- 3.9 KB
tree-diff.c -rw-r--r-- 6.1 KB
tree-walk.c -rw-r--r-- 4.4 KB
tree-walk.h -rw-r--r-- 863 bytes
tree.c -rw-r--r-- 5.0 KB
tree.h -rw-r--r-- 860 bytes
unpack-file.c -rw-r--r-- 820 bytes
unpack-trees.c -rw-r--r-- 18.2 KB
unpack-trees.h -rw-r--r-- 890 bytes
update-server-info.c -rw-r--r-- 457 bytes
upload-pack.c -rw-r--r-- 16.1 KB
usage.c -rw-r--r-- 1.9 KB
utf8.c -rw-r--r-- 9.5 KB
utf8.h -rw-r--r-- 389 bytes
var.c -rw-r--r-- 1.3 KB
write_or_die.c -rw-r--r-- 1.3 KB
wt-status.c -rw-r--r-- 8.9 KB
wt-status.h -rw-r--r-- 566 bytes
xdiff-interface.c -rw-r--r-- 2.6 KB
xdiff-interface.h -rw-r--r-- 500 bytes

README

back to top