summaryrefslogtreecommitdiff
path: root/git-repack-script
AgeCommit message (Collapse)AuthorFilesLines
2005-08-29git-repack-script: Add option to repack all objects.Libravatar Junio C Hamano1-8/+43
This originally came from Frank Sorenson, but with a bit of rework to allow future enhancements without changing the external interface for pack pruning part. With the '-a' option, all objects in the current repository are packed into a single pack. When the '-d' option is given at the same time, existing packs that were made redundant by this round of repacking are deleted. Since we currently have only two repacking strategies, one with '-a' (everything into one) and the other without '-a' (incrementally pack only the unpacked ones), the '-d' option is meaningful only when used with '-a'; it removes the packs existed before we did the "everything into one" repacking. At least for now. Signed-off-by: Junio C Hamano <junkio@cox.net> Acked-by: Frank Sorenson <frank@tuxrocks.com> (cherry picked from bfed505327e31221d8de796b3af880bad696b149 commit)
2005-08-24Generate pack info file after repack.Libravatar Junio C Hamano1-1/+20
Pulling from a packed repository over dumb transport without the server info file fails, so run update-server-info automatically after a repack by default. This can be disabled with the '-n' flag. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-08Mark git-relink-script and git-repack-script executableLibravatar Linus Torvalds1-0/+0
Sure, "install" will default to installing it executable anyway, but this is the right thing to do.
2005-07-08Add "git-sh-setup-script" for common git shell script setupLibravatar Linus Torvalds1-3/+4
It sets up the normal git environment variables and a few helper functions (currently just "die()"), and returns ok if it all looks like a git archive. So use it something like . git-sh-setup-script || die "Not a git archive" to make the rest of the git scripts more careful and readable.
2005-07-03Make the name of a pack-file depend on the objects packed there-in.Libravatar Linus Torvalds1-11/+6
This means that the .git/objects/pack directory is also rsync'able, since the filenames created there-in are either unique or refer to the same data. Otherwise you might not be able to pull from a directory that is partly packed without having to worry about missing objects due to pack-file name clashes.
2005-07-03Add "git repack" command that does an incremental packLibravatar Linus Torvalds1-0/+18