Go to file
Jonathan Nieder 64b1cb74f8 Introduce usagef() that takes a printf-style format
Some new callers would want to use printf-like formatting, when issuing
their usage messages.  An option is to change usage() itself also be like
printf(), which would make it similar to die() and warn().

But usage() is typically fixed, as opposed to die() and warn() that gives
diagnostics depending on the situation.  Indeed, the majority of strings
given by existing callsites to usage() are fixed strings.  If we were to
make usage() take printf-style format, they all need to be changed to have
"%s" as their first argument.

So instead, introduce usagef() so that limited number of callers can use
it.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-11-10 12:00:21 -08:00
Documentation Show usage string for 'git show-ref -h' 2009-11-09 17:08:53 -08:00
block-sha1 remove ARM and Mozilla SHA1 implementations 2009-08-18 14:19:40 -07:00
compat Use faster byte swapping when compiling with MSVC 2009-10-30 09:37:48 -07:00
contrib Retire fetch--tool helper to contrib/examples 2009-11-09 17:08:44 -08:00
git-gui Merge git://repo.or.cz/git-gui 2009-10-27 14:55:37 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2009-09-20 23:47:52 -07:00
gitweb Merge branch 'sb/gitweb-link-author' 2009-10-25 18:40:21 -07:00
perl perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR 2009-09-25 14:00:04 -07:00
ppc
t Merge branch 'jc/commit-s-subject-is-not-a-footer' 2009-11-06 23:17:47 -08:00
templates Revert "Don't create the $GIT_DIR/branches directory on init" 2009-10-31 11:16:50 -07:00
xdiff Merge branch 'tf/diff-whitespace-incomplete-line' into maint 2009-09-16 14:27:08 -07:00
.gitattributes
.gitignore Add intermediate build products to .gitignore 2009-11-08 17:04:50 -08:00
.mailmap Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
COPYING
GIT-VERSION-GEN GIT 1.6.5.2 2009-10-25 18:37:56 -07:00
INSTALL INSTALL: Describe dependency knobs from Makefile 2009-09-10 21:34:43 -07:00
Makefile Retire fetch--tool helper to contrib/examples 2009-11-09 17:08:44 -08:00
README README: git lives at http://git-scm.com these days 2009-10-07 12:47:24 -07:00
RelNotes GIT 1.6.5.2 2009-10-25 18:37:56 -07:00
abspath.c abspath.c: move declaration of 'len' into inner block and use appropriate type 2009-08-27 16:20:53 -07:00
advice.c status: make "how to stage" messages optional 2009-09-11 21:33:24 -07:00
advice.h status: make "how to stage" messages optional 2009-09-11 21:33:24 -07:00
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Refactor pretty_print_commit arguments into a struct 2009-10-19 22:28:20 -07:00
archive.h
attr.c attr: plug minor memory leak 2009-06-30 16:12:24 -07:00
attr.h
base85.c
bisect.c git-bisect: call the found commit "*the* first bad commit" 2009-08-26 12:05:57 -07:00
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin-add.c don't dereference NULL upon fdopen failure 2009-09-13 01:32:20 -07:00
builtin-annotate.c
builtin-apply.c Merge branch 'jc/maint-blank-at-eof' 2009-10-17 00:11:03 -07:00
builtin-archive.c git-archive: infer output format from filename when unspecified 2009-09-13 13:54:39 -07:00
builtin-bisect--helper.c
builtin-blame.c Style fixes, add a space after if/for/while. 2009-08-31 23:26:28 -07:00
builtin-branch.c Refactor pretty_print_commit arguments into a struct 2009-10-19 22:28:20 -07:00
builtin-bundle.c Update the usage bundle string. 2009-09-18 19:47:15 -07:00
builtin-cat-file.c
builtin-check-attr.c
builtin-check-ref-format.c Merge branch 'jn/maint-http-fetch-mingw' into jn/help-everywhere 2009-11-10 11:10:14 -08:00
builtin-checkout-index.c
builtin-checkout.c fixup tr/stash-format merge 2009-10-30 20:18:31 -07:00
builtin-clean.c UI consistency: allow --force for where -f means force 2009-08-29 14:08:03 -07:00
builtin-clone.c clone: detect extra arguments 2009-10-30 15:18:11 -07:00
builtin-commit-tree.c Show usage string for 'git commit-tree -h' 2009-11-09 17:08:44 -08:00
builtin-commit.c Merge branch 'jc/commit-s-subject-is-not-a-footer' 2009-11-06 23:17:47 -08:00
builtin-config.c
builtin-count-objects.c
builtin-describe.c Merge branch 'maint' 2009-10-23 22:40:18 -07:00
builtin-diff-files.c
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c Show usage string for 'git log -h', 'git show -h' and 'git diff -h' 2009-08-07 14:40:29 -07:00
builtin-fast-export.c git fast-export: add --no-data option 2009-07-31 07:48:09 -07:00
builtin-fetch-pack.c
builtin-fetch.c fetch: Speed up fetch by rewriting find_non_local_tags 2009-09-18 16:32:33 -07:00
builtin-fmt-merge-msg.c
builtin-for-each-ref.c Style fixes, add a space after if/for/while. 2009-08-31 23:26:28 -07:00
builtin-fsck.c fsck: default to "git fsck --full" 2009-10-20 12:11:39 -07:00
builtin-gc.c gc --auto --quiet: make the notice a bit less verboase 2009-10-21 15:28:42 -07:00
builtin-grep.c Show usage string for 'git grep -h' 2009-11-09 17:08:44 -08:00
builtin-help.c help -a: do not unnecessarily look for a repository 2009-10-28 10:42:17 -07:00
builtin-init-db.c Merge branch 'ns/init-mkdir' 2009-08-05 12:39:33 -07:00
builtin-log.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
builtin-ls-files.c Merge branch 'jk/maint-1.6.3-ls-files-no-ignore-cached' into maint-1.6.4 2009-10-25 15:34:27 -07:00
builtin-ls-remote.c Require a struct remote in transport_get() 2009-11-03 21:39:28 -08:00
builtin-ls-tree.c
builtin-mailinfo.c builtin-mailinfo.c: check error status from rewind and ftruncate 2009-09-29 09:40:55 -07:00
builtin-mailsplit.c Show usage string for 'git mailsplit -h' 2009-11-10 11:06:57 -08:00
builtin-merge-base.c git-merge-base/git-show-branch: Cleanup documentation and usage 2009-08-05 10:28:05 -07:00
builtin-merge-file.c
builtin-merge-ours.c Show usage string for 'git merge-ours -h' 2009-11-09 17:08:45 -08:00
builtin-merge-recursive.c
builtin-merge.c Merge branch 'jn/maint-http-fetch-mingw' into jn/help-everywhere 2009-11-10 11:10:14 -08:00
builtin-mktree.c
builtin-mv.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
builtin-name-rev.c
builtin-pack-objects.c pack-objects: move thread autodetection closer to relevant code 2009-11-05 23:11:42 -08:00
builtin-pack-refs.c
builtin-prune-packed.c prune-packed: migrate to parse-options 2009-07-10 23:57:21 -07:00
builtin-prune.c
builtin-push.c push: fix typo in usage 2009-10-30 15:12:00 -07:00
builtin-read-tree.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
builtin-receive-pack.c receive-pack: run "gc --auto --quiet" and optionally "update-server-info" 2009-10-21 15:32:32 -07:00
builtin-reflog.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
builtin-remote.c Style fixes, add a space after if/for/while. 2009-08-31 23:26:28 -07:00
builtin-replace.c
builtin-rerere.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
builtin-reset.c Merge branch 'tr/reset-checkout-patch' 2009-09-07 15:24:38 -07:00
builtin-rev-list.c Refactor pretty_print_commit arguments into a struct 2009-10-19 22:28:20 -07:00
builtin-rev-parse.c Show usage string for 'git rev-parse -h' 2009-11-10 11:06:57 -08:00
builtin-revert.c
builtin-rm.c
builtin-send-pack.c transport: pass "quiet" flag to pack-objects 2009-08-05 20:14:09 -07:00
builtin-shortlog.c Refactor pretty_print_commit arguments into a struct 2009-10-19 22:28:20 -07:00
builtin-show-branch.c Refactor pretty_print_commit arguments into a struct 2009-10-19 22:28:20 -07:00
builtin-show-ref.c Show usage string for 'git show-ref -h' 2009-11-09 17:08:53 -08:00
builtin-stripspace.c Show usage string for 'git stripspace -h' 2009-11-10 11:06:57 -08:00
builtin-symbolic-ref.c
builtin-tag.c UI consistency: allow --force for where -f means force 2009-08-29 14:08:03 -07:00
builtin-tar-tree.c Show usage string for 'git get-tar-commit-id -h' 2009-11-10 11:06:57 -08:00
builtin-unpack-objects.c Merge branch 'jc/maint-unpack-objects-strict' into maint 2009-09-16 14:45:18 -07:00
builtin-update-index.c
builtin-update-ref.c
builtin-update-server-info.c update-server-info: make builtin, use parseopt 2009-08-29 14:07:25 -07:00
builtin-upload-archive.c
builtin-verify-pack.c Merge branch 'maint' 2009-08-07 22:35:17 -07:00
builtin-verify-tag.c verify-tag: migrate to parse-options 2009-07-10 23:57:15 -07:00
builtin-write-tree.c write-tree: migrate to parse-options 2009-07-10 23:56:40 -07:00
builtin.h Retire fetch--tool helper to contrib/examples 2009-11-09 17:08:44 -08:00
bundle.c don't dereference NULL upon fdopen failure 2009-09-13 01:32:20 -07:00
bundle.h
cache-tree.c Improve on the 'invalid object' error message at commit time 2009-07-14 13:50:33 -07:00
cache-tree.h
cache.h check_filename(): make verify_filename() callable without dying 2009-10-18 00:38:03 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c Merge branch 'maint' 2009-07-22 21:56:46 -07:00
command-list.txt Documentation: add 'git replace' to main git manpage 2009-10-11 21:52:22 -07:00
commit.c Merge branch 'jc/maint-1.6.3-graft-trailing-space' 2009-10-30 20:07:08 -07:00
commit.h fixup tr/stash-format merge 2009-10-30 20:18:31 -07:00
config.c Merge branch 'jk/unwanted-advices' 2009-09-13 01:33:18 -07:00
config.mak.in configure.ac: rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN tests 2009-07-22 21:56:51 -07:00
configure.ac remove ARM and Mozilla SHA1 implementations 2009-08-18 14:19:40 -07:00
connect.c Style fixes, add a space after if/for/while. 2009-08-31 23:26:28 -07:00
convert.c run_command: return exit code as positive value 2009-07-05 12:16:27 -07:00
copy.c preserve mtime of local clone 2009-09-13 01:32:26 -07:00
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'tr/die_errno' 2009-07-06 09:39:46 -07:00
date.c Fix '--relative-date' 2009-10-03 06:04:38 -04:00
decorate.c
decorate.h
delta.h
diff-delta.c Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
diff-lib.c Merge branch 'jc/shortstatus' 2009-08-28 19:38:19 -07:00
diff-no-index.c
diff.c Merge branch 'js/diff-verbose-submodule' 2009-10-30 20:16:26 -07:00
diff.h Add the --submodule option to the diff option family 2009-10-19 22:31:00 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c clean: require double -f options to nuke nested git repository and work tree 2009-07-29 12:22:30 -07:00
dir.h clean: require double -f options to nuke nested git repository and work tree 2009-07-29 12:22:30 -07:00
editor.c
entry.c check_path(): allow symlinked directories to checkout-index --prefix 2009-08-18 03:32:45 -07:00
environment.c Merge branch 'cc/replace' 2009-08-21 18:47:53 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c Show usage string for 'git fast-import -h' 2009-11-10 11:06:56 -08:00
fetch-pack.h
fixup-builtins
fsck.c Allow the Unix epoch to be a valid commit date 2009-07-06 09:36:16 -07:00
fsck.h
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'pv/maint-add-p-no-exclude' into maint 2009-10-23 22:29:19 -07:00
git-am.sh git-am: force egrep to use correct characters set 2009-09-25 15:35:05 -07:00
git-archimport.perl
git-bisect.sh bisect reset: Allow resetting to any commit, not just a branch 2009-10-13 23:19:02 -07:00
git-compat-util.h Introduce usagef() that takes a printf-style format 2009-11-10 12:00:21 -08:00
git-cvsexportcommit.perl Avoid generating a warning if $fullname{$file} is undefined 2009-07-06 09:36:43 -07:00
git-cvsimport.perl cvsimport: fix relative argument filenames 2009-10-19 00:31:02 -07:00
git-cvsserver.perl git-cvsserver: no longer use deprecated 'git-subcommand' commands 2009-09-02 18:41:42 -07:00
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh filter-branch: make the usage string fit on 80 chars terminals. 2009-08-18 13:35:55 -07:00
git-instaweb.sh instaweb: support mod_cgid for apache2 2009-09-29 10:06:52 -07:00
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Show usage string for 'git merge-one-file -h' 2009-11-10 11:06:57 -08:00
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh
git-parse-remote.sh
git-pull.sh pull: improve advice for unconfigured error case 2009-10-09 11:22:43 -07:00
git-quiltimport.sh
git-rebase--interactive.sh Merge branch 'maint' 2009-10-28 11:21:46 -07:00
git-rebase.sh rebase: use plumbing to show dirty state 2009-09-11 21:41:15 -07:00
git-relink.perl
git-repack.sh Merge branch 'js/maint-graft-unhide-true-parents' 2009-07-25 00:45:03 -07:00
git-request-pull.sh request-pull: optionally show a patch as well 2009-07-29 11:02:49 -07:00
git-send-email.perl Merge branch 'jp/maint-send-email-fold' into maint 2009-10-23 22:30:42 -07:00
git-sh-setup.sh
git-stash.sh stash list: drop the default limit of 10 stashes 2009-10-19 22:28:26 -07:00
git-submodule.sh typo fix: Directory `...' exist, ...: s/exist/exists/ 2009-09-29 08:30:13 -07:00
git-svn.perl git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parents 2009-10-26 23:54:24 -07:00
git-web--browse.sh web--browse: fix Mac OS X GUI detection for 10.6 2009-09-14 02:27:25 -07:00
git.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
git.spec.in Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
graph.c Merge branch 'as/maint-graph-interesting-fix' 2009-08-27 16:59:56 -07:00
graph.h
grep.c grep: simplify -p output 2009-07-02 21:36:42 -07:00
grep.h Merge branch 'maint' 2009-09-13 01:30:53 -07:00
hash-object.c
hash.c
hash.h
help.c Test for WIN32 instead of __MINGW32_ 2009-09-18 20:00:42 -07:00
help.h
http-fetch.c Let 'git http-fetch -h' show usage outside any git repository 2009-11-10 11:11:21 -08:00
http-push.c Show usage string for 'git http-push -h' 2009-11-10 11:59:51 -08:00
http-walker.c
http.c Merge branch 'maint' 2009-09-14 14:48:27 -07:00
http.h
ident.c
imap-send.c Show usage string for 'git imap-send -h' 2009-11-10 11:06:57 -08:00
index-pack.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c Merge branch 'js/run-command-updates' 2009-08-10 22:14:57 -07:00
ll-merge.h
lockfile.c git branch -D: give a better error message when lockfile creation fails 2009-09-29 08:14:47 -07:00
log-tree.c Introduce new pretty formats %g[sdD] for reflog information 2009-10-19 22:28:26 -07:00
log-tree.h git-log: allow --decorate[=short|full] 2009-08-26 12:05:58 -07:00
mailmap.c
mailmap.h
match-trees.c
merge-file.c
merge-index.c
merge-recursive.c merge-recursive: give less scary messages when merge did not start 2009-09-08 14:46:36 -07:00
merge-recursive.h
merge-tree.c
mktag.c Merge branch 'cc/replace' 2009-08-21 18:47:53 -07:00
name-hash.c
object.c
object.h
pack-check.c
pack-redundant.c Let 'git <command> -h' show usage without a git dir 2009-11-10 12:00:21 -08:00
pack-refs.c
pack-refs.h
pack-revindex.c janitor: useless checks before free 2009-07-22 21:57:41 -07:00
pack-revindex.h
pack-write.c
pack.h
pager.c Test for WIN32 instead of __MINGW32_ 2009-09-18 20:00:42 -07:00
parse-options.c parse-opt: ignore negation of OPT_NONEG for ambiguity checks 2009-09-29 07:28:47 -07:00
parse-options.h Merge branch 'cc/replace' 2009-08-21 18:47:53 -07:00
patch-delta.c Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
patch-id.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c janitor: add DIV_ROUND_UP and use it. 2009-07-22 21:57:41 -07:00
pretty.c fixup tr/stash-format merge 2009-10-30 20:18:31 -07:00
progress.c change throughput display units with fast links 2009-10-14 01:19:29 -07:00
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c reset: make the reminder output consistent with "checkout" 2009-08-21 21:19:35 -07:00
reflog-walk.c Introduce new pretty formats %g[sdD] for reflog information 2009-10-19 22:28:26 -07:00
reflog-walk.h Introduce new pretty formats %g[sdD] for reflog information 2009-10-19 22:28:26 -07:00
refs.c git branch -D: give a better error message when lockfile creation fails 2009-09-29 08:14:47 -07:00
refs.h
remote-curl.c Allow curl helper to work without a local repository 2009-11-03 21:41:01 -08:00
remote.c Add url.<base>.pushInsteadOf: URL rewriting for push only 2009-09-08 01:18:46 -07:00
remote.h
replace_object.c
rerere.c use write_str_in_full helper to avoid literal string lengths 2009-09-13 01:31:10 -07:00
rerere.h
revision.c improve reflog date/number heuristic 2009-09-29 10:06:49 -07:00
revision.h improve reflog date/number heuristic 2009-09-29 10:06:49 -07:00
run-command.c Test for WIN32 instead of __MINGW32_ 2009-09-18 20:00:42 -07:00
run-command.h Test for WIN32 instead of __MINGW32_ 2009-09-18 20:00:42 -07:00
send-pack.h transport: pass "quiet" flag to pack-objects 2009-08-05 20:14:09 -07:00
server-info.c
setup.c check_filename(): make verify_filename() callable without dying 2009-10-18 00:38:03 -07:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c Fix incorrect error check while reading deflated pack data 2009-10-21 23:19:47 -07:00
sha1_name.c sha1_name.c: avoid unnecessary strbuf_release 2009-07-16 15:09:21 -07:00
shallow.c
shell.c
shortlog.h
show-index.c Show usage string for 'git show-index -h' 2009-11-10 11:06:57 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf: add new function strbuf_getwholeline() 2009-08-05 12:13:56 -07:00
strbuf.h strbuf: add new function strbuf_getwholeline() 2009-08-05 12:13:56 -07:00
string-list.c
string-list.h
submodule.c fixup tr/stash-format merge 2009-10-30 20:18:31 -07:00
submodule.h Add the --submodule option to the diff option family 2009-10-19 22:31:00 -07:00
symlinks.c lstat_cache: guard against full match of length of 'name' parameter 2009-07-29 20:20:12 -07:00
tag.c
tag.h
tar.h
test-chmtime.c
test-ctype.c
test-date.c refactor test-date interface 2009-08-30 22:04:46 -07:00
test-delta.c Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
test-dump-cache-tree.c
test-genrandom.c test-genrandom: ensure stdout is set to _O_BINARY on Windows 2009-09-21 00:36:12 -07:00
test-match-trees.c
test-parse-options.c parse-opt: ignore negation of OPT_NONEG for ambiguity checks 2009-09-29 07:28:47 -07:00
test-path-utils.c
test-sha1.c
test-sha1.sh
test-sigchain.c
thread-utils.c Make usage of windows.h lean and mean 2009-09-18 20:00:42 -07:00
thread-utils.h
trace.c
transport-helper.c don't dereference NULL upon fdopen failure 2009-09-13 01:32:20 -07:00
transport.c Require a struct remote in transport_get() 2009-11-03 21:39:28 -08:00
transport.h Merge branch 'db/vcs-helper' 2009-09-13 01:31:55 -07:00
tree-diff.c Merge branch 'ne/maint-1.6.0-diff-tree-t-r-show-directory' 2009-07-01 19:40:47 -07:00
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unpack-file.c Show usage string for 'git unpack-file -h' 2009-11-10 11:06:57 -08:00
unpack-trees.c Merge branch 'maint' 2009-07-18 16:57:47 -07:00
unpack-trees.h read-tree: migrate to parse-options 2009-06-27 14:11:28 -07:00
upload-pack.c don't dereference NULL upon fdopen failure 2009-09-13 01:32:20 -07:00
usage.c Introduce usagef() that takes a printf-style format 2009-11-10 12:00:21 -08:00
userdiff.c
userdiff.h
utf8.c
utf8.h
var.c Style fixes, add a space after if/for/while. 2009-08-31 23:26:28 -07:00
walker.c janitor: useless checks before free 2009-07-22 21:57:41 -07:00
walker.h
wrapper.c
write_or_die.c
ws.c Merge branch 'jc/maint-1.6.0-blank-at-eof' (early part) into jc/maint-blank-at-eof 2009-09-15 03:28:08 -07:00
wt-status.c status: make "how to stage" messages optional 2009-09-11 21:33:24 -07:00
wt-status.h wt-status: collect untracked files in a separate "collect" phase 2009-08-10 12:56:43 -07:00
xdiff-interface.c userdiff: add xdiff_clear_find_func() 2009-07-01 19:16:37 -07:00
xdiff-interface.h userdiff: add xdiff_clear_find_func() 2009-07-01 19:16:37 -07:00

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.