Go to file
Johannes Schindelin 9e64d109f9 git-bundle: Make thin packs
Thin packs are way smaller, but they rely on the receiving end to have the
base objects. However, Git's pack protocol also uses thin packs by
default. So make the packs contained in bundles thin, since bundles are
just another transport.

The patch looks a bit bigger than intended, mainly because --thin
_implies_ that pack-objects should run its own rev-list. Therefore, this
patch removes all the stuff we used to roll rev-list ourselves.

This commit also changes behaviour slightly: since we now know early
enough if a specified ref is _not_ contained in the pack, we can avoid
putting that ref into the pack. So, we don't die() here, but warn()
instead, and skip that ref.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-03-07 18:02:10 -08:00
Documentation Merge branch 'master-for-junio' of git://repo.or.cz/git/fastimport; branch 'maint' 2007-03-05 21:23:46 -08:00
arm
compat Add a compat/strtoumax.c for Solaris 8. 2007-02-19 18:20:30 -08:00
contrib contrib/emacs: Use non-interactive function to byte-compile files 2007-03-05 00:45:57 -08:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui into maint 2007-03-06 00:39:52 -08:00
gitweb gitweb: fix mismatched parenthesis 2007-02-06 01:09:32 -08:00
mozilla-sha1
perl Add config_boolean() method to the Git perl module 2007-02-20 23:58:37 -08:00
ppc Assorted typo fixes 2007-02-03 21:49:54 -08:00
t git-bundle: avoid packing objects which are in the prerequisites 2007-03-07 17:38:48 -08:00
templates Merge branch 'maint' 2007-03-02 16:57:53 -08:00
xdiff teach diff machinery about --ignore-space-at-eol 2007-02-13 21:40:42 -08:00
.gitignore Merge branch 'js/bundle' 2007-02-28 14:38:36 -08:00
.mailmap .mailmap maintenance after pulling from git-svn 2007-02-23 03:11:52 -08:00
COPYING
GIT-VERSION-GEN GIT 1.5.0.3 2007-03-04 17:20:38 -08:00
INSTALL use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
Makefile git-gui: Make 'make' quieter by default 2007-03-06 02:13:23 -05:00
README sanitize content of README file 2007-01-17 12:03:50 -08:00
RelNotes Start preparing Release Notes for 1.5.0.3 2007-02-28 14:17:45 -08:00
alloc.c
archive-tar.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive-zip.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
archive.h
base85.c
blob.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
blob.h
builtin-add.c Make a short-and-sweet "git-add -i" synonym for "git-add --interactive" 2007-01-17 10:52:36 -08:00
builtin-annotate.c annotate: fix for cvsserver. 2007-02-06 01:52:04 -08:00
builtin-apply.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
builtin-archive.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
builtin-blame.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-branch.c git-branch: improve abbreviation of sha1s in verbose mode 2007-03-02 16:38:47 -08:00
builtin-bundle.c git-bundle: Make thin packs 2007-03-07 18:02:10 -08:00
builtin-cat-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-check-ref-format.c
builtin-checkout-index.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-commit-tree.c Cleanup check_valid in commit-tree. 2007-02-27 21:40:18 -08:00
builtin-config.c config: read system-wide defaults from /etc/gitconfig 2007-02-19 23:05:16 -08:00
builtin-count-objects.c count-objects -v: show number of packs as well. 2006-12-27 01:05:00 -08:00
builtin-describe.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-diff-files.c diff: make more cases implicit --no-index 2007-02-28 16:32:31 -08:00
builtin-diff-index.c run_diff_{files,index}(): update calling convention. 2007-02-22 02:02:15 -08:00
builtin-diff-tree.c
builtin-diff.c diff: make more cases implicit --no-index 2007-02-28 16:32:31 -08:00
builtin-fmt-merge-msg.c Merge branch 'maint' 2007-02-27 22:15:42 -08:00
builtin-for-each-ref.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-fsck.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-grep.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-init-db.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-log.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-ls-files.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-ls-tree.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-mailinfo.c Merge branch 'maint' 2007-02-27 01:33:52 -08:00
builtin-mailsplit.c
builtin-merge-base.c Make merge-base a built-in. 2007-01-09 17:57:03 -08:00
builtin-merge-file.c
builtin-mv.c
builtin-name-rev.c Merge branch 'js/name-rev-fix' 2007-02-20 22:24:03 -08:00
builtin-pack-objects.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-pack-refs.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-push.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-read-tree.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-reflog.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-rerere.c Merge branch 'maint' 2007-02-25 11:08:47 -08:00
builtin-rev-list.c Read the config in rev-list 2007-02-18 15:58:08 -08:00
builtin-rev-parse.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-rm.c git-rm documentation: remove broken behaviour from the example. 2007-01-16 11:50:29 -08:00
builtin-runstatus.c
builtin-shortlog.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin-show-branch.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
builtin-show-ref.c Merge branch 'maint' 2007-02-24 01:42:06 -08:00
builtin-stripspace.c
builtin-symbolic-ref.c add logref support to git-symbolic-ref 2007-01-28 02:16:46 -08:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
builtin-update-index.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
builtin-update-ref.c lock_any_ref_for_update(): do not accept malformatted refs. 2007-01-29 00:57:07 -08:00
builtin-upload-archive.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
builtin-verify-pack.c Load core configuration in git-verify-pack. 2006-12-29 11:36:45 -08:00
builtin-write-tree.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
builtin.h Merge branch 'js/bundle' 2007-02-28 14:38:36 -08:00
cache-tree.c
cache-tree.h
cache.h Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c Tell multi-parent diff about core.symlinks. 2007-03-03 19:30:34 -08:00
commit.c Merge branch 'js/commit-format' 2007-03-02 00:37:12 -08:00
commit.h Merge branch 'js/commit-format' 2007-03-02 00:37:12 -08:00
config.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
config.mak.in
configure.ac New autoconf test for iconv 2007-02-18 15:57:36 -08:00
connect.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
convert-objects.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
convert.c Make AutoCRLF ternary variable. 2007-02-14 11:19:28 -08:00
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
date.c show_date(): rename the "relative" parameter to "mode" 2007-02-27 17:29:37 -08:00
delta.h
diff-delta.c
diff-lib.c Merge branch 'js/symlink' 2007-03-04 17:31:09 -08:00
diff.c Merge branch 'np/types' 2007-02-28 11:58:27 -08:00
diff.h diff: make more cases implicit --no-index 2007-02-28 16:32:31 -08:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diffcore-pickaxe: fix infinite loop on zero-length needle 2007-01-25 21:17:19 -08:00
diffcore-rename.c
diffcore.h diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
dir.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
dir.h Fix 'git add' with .gitignore 2006-12-29 11:01:31 -08:00
dump-cache-tree.c
entry.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
environment.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
exec_cmd.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
exec_cmd.h
fast-import.c Merge branch 'maint' 2007-03-05 12:50:29 -05:00
fetch-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
fetch.c
fetch.h
generate-cmdlist.sh use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-add--interactive.perl git-add -i: update removed path correctly. 2007-02-07 10:56:38 -08:00
git-am.sh Reword git-am 3-way fallback failure message. 2007-02-24 01:06:19 -08:00
git-applymbox.sh -u is now default for 'git-mailinfo'. 2007-01-09 21:32:49 -08:00
git-applypatch.sh
git-archimport.perl git-archimport: support empty summaries, put summary on a single line. 2007-02-28 12:38:08 -08:00
git-bisect.sh add replay and log to the usage string of git-bisect 2007-02-06 13:58:03 -08:00
git-checkout.sh Let git-checkout always drop any detached head 2007-02-03 23:06:27 -08:00
git-clean.sh Disallow working directory commands in a bare repository. 2007-01-10 15:03:09 -08:00
git-clone.sh Fixup no-progress for fetch & clone 2007-02-24 00:26:18 -08:00
git-commit.sh Merge branch 'maint' 2007-03-05 23:11:54 -08:00
git-compat-util.h Merge branch 'maint' 2007-03-03 19:47:46 -08:00
git-cvsexportcommit.perl Merge branch 'maint' 2007-02-28 14:18:57 -08:00
git-cvsimport.perl Read cvsimport options from repo-config 2007-02-07 23:54:25 -08:00
git-cvsserver.perl cvsserver: Make always-binary mode a config file option 2007-02-27 16:01:58 -08:00
git-fetch.sh Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
git-gc.sh Fix git-gc usage note 2007-03-03 12:11:22 -08:00
git-instaweb.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-lost-found.sh git-fsck-objects is now synonym to git-fsck 2007-01-28 16:33:58 -08:00
git-ls-remote.sh Add git-bundle: move objects and references by archive 2007-02-22 22:30:33 -08:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-ours.sh
git-merge-resolve.sh Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-merge-stupid.sh
git-merge.sh git-merge: fail correctly when we cannot fast forward. 2007-03-03 13:04:54 -08:00
git-p4import.py [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-parse-remote.sh Revert "Allow branch.*.merge to talk about remote tracking branches." 2007-02-04 16:58:30 -08:00
git-pull.sh git-pull: disallow implicit merging to detached HEAD 2007-01-15 15:37:22 -08:00
git-quiltimport.sh Assorted typo fixes 2007-02-03 21:49:54 -08:00
git-rebase.sh add -C[NUM] to git-am 2007-02-08 15:23:52 -08:00
git-relink.perl
git-remote.perl git-remote: support remotes with a dot in the name 2007-02-26 00:24:41 -08:00
git-repack.sh [PATCH] Rename git-repo-config to git-config. 2007-01-28 16:16:53 -08:00
git-request-pull.sh
git-reset.sh Shell syntax fix in git-reset 2007-01-18 14:22:24 -08:00
git-revert.sh honor GIT_REFLOG_ACTION in git-commit 2007-02-03 15:17:49 -08:00
git-send-email.perl git-send-email: abort/usage on bad option 2007-02-27 21:30:38 -08:00
git-sh-setup.sh Commands requiring a work tree must not run in GIT_DIR 2007-02-05 14:02:16 -08:00
git-svn.perl git-svn: fix show-ignore when not connected to the repository root 2007-03-04 00:34:01 -08:00
git-svnimport.perl use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-tag.sh Fix git-tag -u 2007-01-30 21:03:11 -08:00
git-verify-tag.sh git-verify-tag: make sure we remove temporary file. 2007-01-03 12:34:20 -08:00
git.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
git.spec.in Update RPM core package description 2007-02-13 10:12:37 -08:00
gitk Make gitk save and restore window pane position on Linux and Cygwin. 2007-02-15 09:13:14 +11:00
grep.c
grep.h
hash-object.c index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
http-fetch.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
http-push.c Merge branch 'maint' 2007-03-02 00:31:51 -08:00
http.c
http.h Work around http-fetch built with cURL 7.16.0 2006-12-27 16:44:30 -08:00
ident.c Rename get_ident() to fmt_ident() and make it available to outside 2007-02-04 17:50:14 -08:00
imap-send.c prefixcmp(): fix-up leftover strncmp(). 2007-02-20 22:03:15 -08:00
index-pack.c Merge branch 'js/bundle' 2007-02-28 14:38:36 -08:00
interpolate.c
interpolate.h
list-objects.c
list-objects.h
local-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
lockfile.c Print a more accurate error message when we fail to create a lock file. 2007-01-06 10:42:49 -08:00
log-tree.c pretty-formats: add 'format:<string>' 2007-02-22 21:03:41 -08:00
log-tree.h
merge-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
merge-index.c merge-index: fix longstanding bug in merging symlinks 2007-02-25 19:08:48 -08:00
merge-recursive.c Handle core.symlinks=false case in merge-recursive. 2007-03-03 18:59:41 -08:00
merge-tree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktag.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
object-refs.c
object.c get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
object.h get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
pack-check.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
pack-redundant.c
pack.h Refactor the pack header reading function out of receive-pack.c 2007-01-24 18:08:02 -08:00
pager.c pager: Work around window resizing bug in 'less' 2007-02-05 15:42:36 -08:00
patch-delta.c
patch-id.c
path-list.c
path-list.h
path.c Merge branch 'jc/detached-head' 2007-01-11 16:47:34 -08:00
peek-remote.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
pkt-line.c
pkt-line.h
quote.c Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
quote.h Teach for-each-ref about a little language called Tcl. 2007-01-28 13:00:26 -08:00
reachable.c scan reflogs independently from refs 2007-02-03 11:57:18 -08:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c Add core.symlinks to mark filesystems that do not support symbolic links. 2007-03-02 16:58:05 -08:00
receive-pack.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
reflog-walk.c log --reflog: use dwim_log 2007-02-08 17:48:22 -08:00
reflog-walk.h log --reflog: honour --relative-date 2007-02-08 16:20:52 -08:00
refs.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
refs.h scan reflogs independently from refs 2007-02-03 11:57:18 -08:00
revision.c revision --boundary: fix uncounted case. 2007-03-06 03:20:55 -08:00
revision.h revision traversal: retire BOUNDARY_SHOW 2007-03-06 01:08:34 -08:00
rsh.c
rsh.h
run-command.c Use /dev/null for update hook stdin. 2006-12-30 22:22:14 -08:00
run-command.h Use /dev/null for update hook stdin. 2006-12-30 22:22:14 -08:00
send-pack.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
server-info.c Don't coredump on bad refs in update-server-info. 2007-01-31 13:09:58 -08:00
setup.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
sha1_file.c index_fd(): convert blob only if it is a regular file. 2007-02-28 12:00:00 -08:00
sha1_name.c object name: introduce ':/<oneline prefix>' notation 2007-02-24 02:06:18 -08:00
shallow.c is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
shell.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
show-index.c
sideband.c
sideband.h
ssh-fetch.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
ssh-pull.c
ssh-push.c
ssh-upload.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
strbuf.c
strbuf.h
tag.c get rid of lookup_object_type() 2007-02-27 01:34:21 -08:00
tag.h
tar.h
test-chmtime.c Add test-chmtime: a utility to change mtime on files 2007-02-25 11:09:56 -08:00
test-date.c
test-delta.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
test-sha1.c
test-sha1.sh
trace.c short i/o: clean up the naming for the write_{in,or}_xxx family 2007-01-08 15:44:47 -08:00
tree-diff.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
tree-walk.c get_tree_entry: map blank requested entry to tree root 2007-01-09 14:08:41 -08:00
tree-walk.h
tree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
tree.h
unpack-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
unpack-trees.c
unpack-trees.h
update-server-info.c
upload-pack.c Merge branch 'js/fetch-progress' (early part) 2007-03-04 17:31:21 -08:00
usage.c
utf8.c Merge branch 'maint' 2007-03-03 19:47:46 -08:00
utf8.h Actually make print_wrapped_text() useful 2007-02-27 17:29:02 -08:00
var.c Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -08:00
write_or_die.c write_in_full: size_t is unsigned. 2007-01-26 17:39:03 -08:00
wt-status.c Merge branch 'master' into js/diff-ni 2007-02-26 01:20:42 -08:00
wt-status.h Provide better feedback for the untracked only case in status output 2007-01-10 14:29:21 -08:00
xdiff-interface.c
xdiff-interface.h

README

////////////////////////////////////////////////////////////////

	GIT - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public License.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.
See Documentation/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.