Go to file
David Barr 85c62395b1 fast-import: let importers retrieve blobs
New objects written by fast-import are not available immediately.
Until a checkpoint has been started and finishes writing the pack
index, any new blobs will not be accessible using standard git tools.

So introduce a new way to access them: a "cat-blob" command in the
command stream requests for fast-import to print a blob to stdout or a
file descriptor specified by the argument to --cat-blob-fd.  The value
for cat-blob-fd cannot be specified in the stream because that would
be a layering violation: the decision of where to direct a stream has
to be made when fast-import is started anyway, so we might as well
make the stream format is independent of that detail.

Output uses the same format as "git cat-file --batch".

Thanks to Sverre Rabbelier and Sam Vilain for guidance in designing
the protocol.

Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Barr <david.barr@cordelta.com>
Acked-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-12-01 13:27:37 -08:00
Documentation fast-import: let importers retrieve blobs 2010-12-01 13:27:37 -08:00
block-sha1
builtin Merge branch 'cb/maint-orphan-merge-noclobber' 2010-11-24 15:55:36 -08:00
compat Merge branch 'maint' 2010-11-24 13:24:49 -08:00
contrib Merge branch 'mm/phrase-remote-tracking' 2010-11-24 15:55:05 -08:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2010-11-05 10:41:09 -07:00
git_remote_helpers
gitk-git
gitweb Merge branch 'jn/gitweb-test' 2010-11-17 14:59:22 -08:00
perl
ppc
t fast-import: let importers retrieve blobs 2010-12-01 13:27:37 -08:00
templates
vcs-svn
xdiff Merge branch 'cb/diff-fname-optim' into maint 2010-11-24 12:46:26 -08:00
.gitattributes
.gitignore
.mailmap Martin Langhoff has a new e-mail address 2010-10-06 12:08:48 -07:00
COPYING
GIT-VERSION-GEN Git 1.7.3.2 2010-10-21 17:14:32 -07:00
INSTALL
Makefile Merge branch 'maint' 2010-11-24 13:24:49 -08:00
README
RelNotes Git 1.7.3.2 2010-10-21 17:14:32 -07:00
abspath.c Fix 'clone' failure at DOS root directory. 2010-10-03 23:34:23 +01:00
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c archive: improve --verbose description 2010-11-15 10:05:38 -08:00
archive.h
attr.c
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c
branch.h Change incorrect "remote branch" to "remote tracking branch" in C code 2010-11-03 09:20:47 -07:00
builtin.h Merge branch 'ks/no-textconv-symlink' 2010-11-17 14:59:27 -08:00
bundle.c
bundle.h
cache-tree.c
cache-tree.h
cache.h Documentation: No argument of ALLOC_GROW should have side-effects 2010-10-08 13:17:10 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c
command-list.txt
commit.c
commit.h
config.c config: treat non-existent config files as empty 2010-10-21 15:43:24 -07:00
config.mak.in
configure.ac
connect.c Make sure that git_getpass() never returns NULL 2010-09-30 12:22:02 -07:00
convert.c
copy.c
csum-file.c
csum-file.h
ctype.c
daemon.c daemon: opt-out on features that require posix 2010-11-04 16:53:52 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c Merge branch 'cb/diff-fname-optim' into maint 2010-11-24 12:46:26 -08:00
diff.h Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diffcore-pickaxe.c: a void function shouldn't try to return something 2010-10-06 13:45:18 -07:00
diffcore-rename.c
diffcore.h
dir.c dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout 2010-11-08 11:39:23 -08:00
dir.h
editor.c
entry.c
environment.c setup: make sure git dir path is in a permanent buffer 2010-10-03 16:50:54 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c fast-import: let importers retrieve blobs 2010-12-01 13:27:37 -08:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl
git-am.sh Sync with 1.7.3.2 2010-10-21 17:16:10 -07:00
git-archimport.perl
git-bisect.sh bisect: check for mandatory argument of 'bisect replay' 2010-10-13 15:07:50 -07:00
git-compat-util.h mingw: use poll-emulation from gnulib 2010-11-04 16:53:51 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-cvsserver.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh merge-octopus: Work around environment issue on Windows 2010-10-01 23:08:46 +01:00
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-parse-remote.sh
git-pull.sh
git-quiltimport.sh
git-rebase--interactive.sh rebase: teach --autosquash to match on sha1 in addition to message 2010-11-09 09:44:19 -08:00
git-rebase.sh rebase -X: do not clobber strategy 2010-11-10 09:38:36 -08:00
git-relink.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-remote-testgit.py
git-repack.sh Merge branch 'tr/maint-git-repack-tmpfile' into maint 2010-11-24 12:47:10 -08:00
git-request-pull.sh
git-send-email.perl Merge branch 'ao/send-email-irt' 2010-11-24 15:55:32 -08:00
git-sh-setup.sh Merge branch 'uk/fix-author-ident-sed-script' 2010-10-06 12:11:12 -07:00
git-stash.sh shell portability: no "export VAR=VAL" 2010-10-13 11:36:36 -07:00
git-submodule.sh Merge branch 'kb/maint-submodule-savearg' 2010-11-17 15:02:12 -08:00
git-svn.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-web--browse.sh
git.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
git.spec.in
graph.c
graph.h
grep.c
grep.h
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c
http-walker.c
http.c
http.h
ident.c
imap-send.c
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c
log-tree.h
mailmap.c mailmap: fix use of freed memory 2010-10-13 19:11:26 -07:00
mailmap.h
match-trees.c
merge-file.c
merge-recursive.c Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
merge-recursive.h Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
name-hash.c
notes-cache.c
notes-cache.h
notes.c
notes.h
object.c
object.h
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options.c
parse-options.h add OPT__FORCE 2010-11-15 10:04:43 -08:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c
reflog-walk.c
reflog-walk.h
refs.c
refs.h
remote-curl.c
remote.c Change "tracking branch" to "remote-tracking branch" 2010-11-03 09:20:41 -07:00
remote.h
replace_object.c
rerere.c Merge branch 'jf/merge-ignore-ws' 2010-10-26 21:40:54 -07:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c
revision.h
run-command.c
run-command.h
send-pack.h push: pass --progress down to git-pack-objects 2010-10-18 16:20:19 -07:00
server-info.c
setup.c prefix_filename(): safely handle the case where pfx_len=0 2010-10-18 16:10:55 -07:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c
sha1_name.c Merge branch 'ks/no-textconv-symlink' 2010-11-17 14:59:27 -08:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c
strbuf.h
string-list.c
string-list.h
submodule.c
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-obj-pool.c
test-parse-options.c add description parameter to OPT__QUIET 2010-11-15 09:58:13 -08:00
test-path-utils.c
test-run-command.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-pool.c
test-svn-fe.c
test-treap.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c
transport.c push: pass --progress down to git-pack-objects 2010-10-18 16:20:19 -07:00
transport.h
tree-diff.c Merge branch 'en/tree-walk-optim' 2010-10-26 21:37:49 -07:00
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unpack-trees.c
unpack-trees.h
upload-pack.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
url.c
url.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh
wrapper.c
write_or_die.c
ws.c diff: handle lines containing only whitespace and tabs better 2010-10-20 16:10:15 -07:00
wt-status.c Better "Changed but not updated" message in git-status 2010-11-03 09:18:58 -07:00
wt-status.h
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/gittutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands, and
Documentation/git-commandname.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
documentation of each command with "man git-commandname" or "git help
commandname".

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).

Many Git online resources are accessible from http://git-scm.com/
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.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.