Find a file
Stefan Beller c83e8c1768 hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
This task emerged from b04ba2bb (parse-options: deprecate OPT_BOOLEAN,
2011-09-27). hash-object is a plumbing layer command, so better
not change the input/output behavior for now.

Unfortunately we have these lines relying on the count up mechanism of
OPT_BOOLEAN:

	if (hashstdin > 1)
		errstr = "Multiple --stdin arguments are not supported";

Using OPT_BOOL will make "git hash-object --stdin --stdin" the same
as "git hash-object --stdin", resulting in just one object, which
will surprise users with an expectation to see two objects hashed.

Because it is not good to silently succeed and give an unexpected
result, even when the expectation is unrealistic, we use COUNTUP to
explicitly catch such an error.

Signed-off-by: Stefan Beller <stefanbeller@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-07 08:30:55 -07:00
block-sha1
builtin hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP 2013-08-07 08:30:55 -07:00
compat Merge branch 'ob/typofixes' 2013-07-24 19:23:01 -07:00
contrib Merge branch 'bc/completion-for-bash-3.0' 2013-07-30 09:16:37 -07:00
Documentation log, format-patch: parsing uses OPT__QUIET 2013-08-05 11:32:19 -07:00
git-gui git-gui 0.18.0 2013-06-16 20:06:55 -07:00
git_remote_helpers
gitk-git Merge git://ozlabs.org/~paulus/gitk 2013-05-17 11:55:02 -07:00
gitweb gitweb: allow extra breadcrumbs to prefix the trail 2013-07-04 21:52:15 -07:00
mergetools Sync with v1.8.2.3 2013-05-09 13:32:54 -07:00
perl git-svn: added an --include-path flag 2013-05-09 01:13:36 +00:00
po gitk: Update Swedish translation (304t) 2013-05-17 09:25:25 +10:00
ppc
t Merge branch 'ml/avoid-using-grep-on-crlf-files' 2013-07-24 19:21:18 -07:00
templates templates: spell ASCII in uppercase in pre-commit hook 2013-07-15 09:52:57 -07:00
vcs-svn
xdiff diff: add --ignore-blank-lines option 2013-06-19 15:17:45 -07:00
.gitattributes
.gitignore Merge branch 'es/check-mailmap' 2013-07-22 11:24:14 -07:00
.mailmap Merge branch 'sb/mailmap-updates' 2013-07-30 09:16:40 -07:00
abspath.c mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07:00
aclocal.m4
advice.c Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim 2013-07-12 10:09:50 -07:00
advice.h Merge branch 'jk/gcc-function-attributes' 2013-07-22 11:23:59 -07:00
alias.c
alloc.c
archive-tar.c
archive-zip.c Merge branch 'sb/archive-zip-double-assignment-fix' into maint 2013-07-19 10:40:53 -07:00
archive.c
archive.h
argv-array.c
argv-array.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
attr.c Merge branch 'lf/read-blob-data-from-index' 2013-04-21 18:39:45 -07:00
attr.h
base85.c
bisect.c register_ref(): make a copy of the bad reference SHA-1 2013-06-02 15:28:47 -07:00
bisect.h
blob.c
blob.h
branch.c Merge branch 'jh/checkout-auto-tracking' into maint 2013-06-27 14:37:21 -07:00
branch.h
builtin.h builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
bulk-checkin.c
bulk-checkin.h
bundle.c object_array_entry: fix memory handling of the name field 2013-06-02 15:28:46 -07:00
bundle.h
cache-tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache-tree.h Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
cache.h Merge branch 'jk/cat-file-batch-optim' 2013-07-24 19:21:21 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c make color.ui default to 'auto' 2013-06-10 10:55:42 -07:00
color.h
column.c
column.h
combine-diff.c Merge branch 'cb/log-follow-with-combined' into maint 2013-07-03 15:30:59 -07:00
command-list.txt builtin: add git-check-mailmap command 2013-07-13 10:19:37 -07:00
commit-slab.h commit-slab: introduce a macro to define a slab for new type 2013-06-07 10:02:12 -07:00
commit.c Merge branch 'bc/commit-invalid-utf8' 2013-07-18 12:58:19 -07:00
commit.h commit.h: drop redundant comment 2013-07-25 16:06:23 -07:00
config.c Merge branch 'hv/config-from-blob' 2013-07-22 11:24:09 -07:00
config.mak.in Merge branch 'jc/remove-export-from-config-mak-in' 2013-04-01 09:00:02 -07:00
config.mak.uname cygwin: stop forcing core.filemode=false 2013-07-21 22:03:31 -07:00
configure.ac configure: fix option help message for --disable-pthreads 2013-06-28 10:49:26 -07:00
connect.c Merge branch 'nd/clone-local-with-colon' 2013-06-02 15:52:22 -07:00
connected.c clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
connected.h clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
convert.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
convert.h typofix: in-code comments 2013-07-22 16:06:49 -07:00
copy.c
COPYING
credential-cache--daemon.c
credential-cache.c
credential-store.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'sb/misc-fixes' 2013-07-24 19:20:59 -07:00
date.c Merge branch 'jc/prune-all' 2013-05-29 14:23:04 -07:00
decorate.c decorate.c: compact table when growing 2013-05-16 11:51:08 -07:00
decorate.h
delta.h
diff-delta.c
diff-lib.c diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const 2013-06-02 15:31:14 -07:00
diff-no-index.c mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07:00
diff.c Merge branch 'ob/typofixes' 2013-07-24 19:23:01 -07:00
diff.h
diffcore-break.c diffcore-break: don't divide by zero 2013-04-03 12:48:02 -07:00
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c Merge branch 'rs/pickaxe-simplify' 2013-07-12 12:04:17 -07:00
diffcore-rename.c
diffcore.h
dir.c Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
dir.h dir.c: git-status --ignored: don't scan the work tree twice 2013-04-15 12:36:42 -07:00
editor.c
entry.c Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
environment.c Merge branch 'jk/cat-file-batch-optim' 2013-07-24 19:21:21 -07:00
exec_cmd.c
exec_cmd.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
fast-import.c Merge branch 'fc/fast-export-persistent-marks' 2013-06-02 15:48:28 -07:00
fetch-pack.c fetch-pack: avoid quadratic behavior in rev_list_push 2013-07-02 12:05:46 -07:00
fetch-pack.h clone: open a shortcut for connectivity check 2013-05-28 08:07:20 -07:00
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl add -i: add extra options at the right place in "diff" command line 2013-06-23 13:39:39 -07:00
git-am.sh am: replace uses of --resolved with --continue 2013-06-27 09:37:12 -07:00
git-archimport.perl
git-bisect.sh bisect: Fix log output for multi-parent skip ranges 2013-05-22 15:40:43 -07:00
git-compat-util.h Merge branch 'jk/gcc-function-attributes' 2013-07-22 11:23:59 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl Correct common spelling mistakes in comments and tests 2013-04-12 13:38:40 -07:00
git-difftool--helper.sh
git-difftool.perl difftool --dir-diff: allow changing any clean working tree file 2013-05-29 12:50:08 -07:00
git-filter-branch.sh Merge branch 'jk/filter-branch-come-back-to-original' into maint 2013-04-22 11:26:55 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Merge branch 'kb/p4merge' 2013-03-26 13:15:24 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh mergetool--lib: refactor {diff,merge}_cmd logic 2013-06-17 13:12:55 -07:00
git-mergetool.sh
git-p4.py Merge branch 'vl/typofix' into maint 2013-07-19 10:42:57 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'jk/pull-into-dirty-unborn' into maint 2013-07-15 10:35:43 -07:00
git-quiltimport.sh Correct common spelling mistakes in comments and tests 2013-04-12 13:38:40 -07:00
git-rebase--am.sh am: return control to caller, for housekeeping 2013-05-12 23:20:07 -07:00
git-rebase--interactive.sh Merge branch 'rr/rebase-reflog-message-reword' 2013-07-18 12:48:20 -07:00
git-rebase--merge.sh rebase --merge: return control to caller, for housekeeping 2013-05-12 23:20:08 -07:00
git-rebase.sh Merge branch 'rr/rebase-reflog-message-reword' 2013-07-18 12:48:20 -07:00
git-relink.perl
git-remote-testgit.sh Merge branch 'js/transport-helper-error-reporting-fix' into fc/makefile 2013-06-07 16:15:32 -07:00
git-remote-testpy.py
git-repack.sh
git-request-pull.sh request-pull: improve error message for invalid revision args 2013-07-17 12:30:58 -07:00
git-send-email.perl Merge branch 'rr/send-email-ssl-verify' 2013-07-22 11:24:17 -07:00
git-sh-i18n.sh
git-sh-setup.sh sh-setup: add new peel_committish() helper 2013-06-14 09:41:03 -07:00
git-stash.sh git stash: avoid data loss when "git stash save" kills a directory 2013-07-01 14:23:24 -07:00
git-submodule.sh Merge branch 'fg/submodule-clone-depth' 2013-07-15 10:28:48 -07:00
git-svn.perl Merge branch 'vl/typofix' into maint 2013-07-19 10:42:57 -07:00
GIT-VERSION-GEN Git 1.8.4-rc0 2013-07-24 19:29:07 -07:00
git-web--browse.sh web--browse: support /usr/bin/cygstart on Cygwin 2013-06-21 09:05:15 -07:00
git.c Merge branch 'es/check-mailmap' 2013-07-22 11:24:14 -07:00
git.rc Provide a Windows version resource for the git executables. 2013-06-04 10:11:08 +01:00
git.spec.in
gpg-interface.c Merge branch 'mg/gpg-interface-using-status' into maint 2013-04-03 09:26:27 -07:00
gpg-interface.h merge/pull Check for untrusted good GPG signatures 2013-03-31 22:38:49 -07:00
graph.c
graph.h
grep.c
grep.h
hash.c
hash.h
help.c Merge branch 'rj/mingw-cygwin' 2013-06-11 13:30:20 -07:00
help.h help: add help_unknown_ref() 2013-05-08 15:31:54 -07:00
hex.c
http-backend.c show_head_ref(): rename first parameter to "refname" 2013-06-02 15:28:47 -07:00
http-fetch.c
http-push.c http-push.c::add_send_request(): do not initialize transfer_request 2013-07-19 11:15:17 -07:00
http-walker.c
http.c Merge branch 'bc/http-keep-memory-given-to-curl' into maint 2013-07-15 10:36:01 -07:00
http.h Merge branch 'mv/ssl-ftp-curl' 2013-04-19 13:31:08 -07:00
ident.c
imap-send.c imap-send: eliminate HMAC deprecation warnings on Mac OS X 2013-05-21 13:26:37 -07:00
INSTALL Typo fix: replacing it's -> its 2013-04-11 17:39:05 -07:00
kwset.c typofix: in-code comments 2013-07-22 16:06:49 -07:00
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
line-log.c line-log: fix "log -LN" crash when N is last line of file 2013-07-23 12:09:48 -07:00
line-log.h log -L: store the path instead of a diff_filespec 2013-04-12 11:37:03 -07:00
line-range.c line-range: fix "blame -L X,-N" regression 2013-07-17 18:02:12 -07:00
line-range.h log -L: :pattern:file syntax to find by funcname 2013-03-28 10:30:04 -07:00
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c lockfile: fix buffer overflow in path handling 2013-07-07 10:29:28 -07:00
log-tree.c Merge branch 'jk/format-patch-from' 2013-07-15 10:28:40 -07:00
log-tree.h pretty: share code between format_decoration and show_decorations 2013-04-18 16:28:27 -07:00
mailmap.c mailmap: style fixes 2013-07-15 08:23:39 -07:00
mailmap.h
Makefile Merge branch 'es/check-mailmap' 2013-07-22 11:24:14 -07:00
match-trees.c match-trees: factor out fill_tree_desc_strict 2013-06-13 14:45:38 -07:00
merge-blobs.c
merge-blobs.h
merge-recursive.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
merge-recursive.h
merge.c
mergesort.c
mergesort.h
name-hash.c Sync with 1.8.1 maintenance track 2013-04-03 09:18:01 -07:00
notes-cache.c
notes-cache.h
notes-merge.c Move create_notes_commit() from notes-merge.c into notes-utils.c 2013-06-12 10:38:13 -07:00
notes-merge.h Move create_notes_commit() from notes-merge.c into notes-utils.c 2013-06-12 10:38:13 -07:00
notes-utils.c Move create_notes_commit() from notes-merge.c into notes-utils.c 2013-06-12 10:38:13 -07:00
notes-utils.h Move create_notes_commit() from notes-merge.c into notes-utils.c 2013-06-12 10:38:13 -07:00
notes.c string_list_add_refs_by_glob(): add a comment about memory management 2013-06-02 15:28:47 -07:00
notes.h
object.c Merge branch 'sb/parse-object-buffer-eaten' 2013-07-22 11:23:33 -07:00
object.h object_array_entry: fix memory handling of the name field 2013-06-02 15:28:46 -07:00
pack-check.c
pack-revindex.c pack-revindex: radix-sort the revindex 2013-07-12 09:20:54 -07:00
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c prune: introduce OPT_EXPIRY_DATE() and use it 2013-04-25 11:42:10 -07:00
parse-options.c parse-options: add OPT_CMDMODE() 2013-07-30 12:23:31 -07:00
parse-options.h Remove deprecated OPTION_BOOLEAN for parsing arguments 2013-08-05 11:32:17 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c path.c: refactor relative_path(), not only strip prefix 2013-06-26 09:59:00 -07:00
pathspec.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
pathspec.h
pkt-line.c
pkt-line.h
preload-index.c
pretty.c teach format-patch to place other authors into in-body "From" 2013-07-03 12:11:04 -07:00
prio-queue.c sort-in-topological-order: use prio-queue 2013-06-11 15:15:21 -07:00
prio-queue.h sort-in-topological-order: use prio-queue 2013-06-11 15:15:21 -07:00
progress.c strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
progress.h
prompt.c
prompt.h
quote.c write_name{_quoted_relative,}(): remove redundant parameters 2013-06-26 11:22:06 -07:00
quote.h write_name{_quoted_relative,}(): remove redundant parameters 2013-06-26 11:22:06 -07:00
reachable.c use parse_object_or_die instead of die("bad object") 2013-03-17 12:52:14 -07:00
reachable.h
read-cache.c Merge branch 'rs/discard-index-discard-array' into maint 2013-07-19 10:39:01 -07:00
README
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'mh/ref-races-optim-invalidate-cached' 2013-07-24 19:21:02 -07:00
refs.h refs: implement simple transactions for the packed-refs file 2013-06-20 15:50:17 -07:00
RelNotes Start preparing for 1.8.3.4 2013-07-19 11:15:17 -07:00
remote-curl.c remote-http: use argv-array 2013-07-09 12:34:16 -07:00
remote-testsvn.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
remote.c Merge branch 'bc/push-match-many-refs' 2013-07-18 12:48:25 -07:00
remote.h remote.c: introduce a way to have different remotes for fetch/push 2013-04-02 10:41:42 -07:00
replace_object.c
rerere.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
rerere.h
resolve-undo.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
resolve-undo.h checkout: avoid unnecessary match_pathspec calls 2013-03-27 08:53:15 -07:00
revision.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
revision.h teach format-patch to place other authors into in-body "From" 2013-07-03 12:11:04 -07:00
run-command.c Merge branch 'tr/fd-gotcha-fixes' 2013-07-22 11:23:13 -07:00
run-command.h Add the LAST_ARG_MUST_BE_NULL macro 2013-07-19 09:26:15 -07:00
send-pack.c
send-pack.h
sequencer.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
sequencer.h
server-info.c
setup.c Merge branch 'jx/clean-interactive' 2013-07-22 11:24:11 -07:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'jk/cat-file-batch-optim' 2013-07-24 19:21:21 -07:00
sha1_name.c Merge branch 'ob/typofixes' 2013-07-24 19:23:01 -07:00
shallow.c Merge branch 'mk/upload-pack-off-by-one-dead-code-removal' 2013-07-22 11:24:05 -07:00
shell.c Merge branch 'tr/protect-low-3-fds' 2013-07-22 11:23:35 -07:00
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
strbuf.h strbuf: create strbuf_humanise_bytes() to show byte sizes 2013-04-10 12:58:33 -07:00
streaming.c Merge branch 'jk/cat-file-batch-optim' 2013-07-24 19:21:21 -07:00
streaming.h
string-list.c
string-list.h
submodule.c Merge branch 'nd/const-struct-cache-entry' 2013-07-22 11:24:01 -07:00
submodule.h submodule: print graph output next to submodule log 2013-04-05 11:28:10 -07:00
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c Merge branch 'js/test-ln-s-add' 2013-06-20 16:02:18 -07:00
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
test-genrandom.c
test-index-version.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-line-buffer.c
test-match-trees.c
test-mergesort.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-mktemp.c
test-parse-options.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-path-utils.c test: run testcases with POSIX absolute paths on Windows 2013-06-26 11:25:12 -07:00
test-prio-queue.c prio-queue: priority queue of pointers to structs 2013-06-11 15:15:21 -07:00
test-read-cache.c read-cache: add simple performance test 2013-06-09 17:03:00 -07:00
test-regex.c
test-revision-walking.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-list.c
test-subprocess.c sparse: Fix mingw_main() argument number/type errors 2013-04-28 12:32:08 -07:00
test-svn-fe.c
test-wildmatch.c
thread-utils.c mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE 2013-05-08 12:14:35 -07:00
thread-utils.h
trace.c add missing "format" function attributes 2013-07-09 22:23:04 -07:00
transport-helper.c Merge branch 'jk/gcc-function-attributes' 2013-07-22 11:23:59 -07:00
transport.c Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint 2013-07-21 22:51:29 -07:00
transport.h Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maint 2013-07-21 22:51:29 -07:00
tree-diff.c
tree-walk.c traverse_trees(): clarify return value of the callback 2013-07-19 15:29:41 -07:00
tree-walk.h unpack-trees: don't shift conflicts left and right 2013-06-17 09:24:47 -07:00
tree.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
tree.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c Convert "struct cache_entry *" to "const ..." wherever possible 2013-07-09 09:12:48 -07:00
unpack-trees.h diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const 2013-06-02 15:31:14 -07:00
upload-pack.c upload-pack: ignore 'shallow' lines with unknown obj-ids 2013-04-28 22:33:53 -07:00
url.c
url.h
usage.c Merge branch 'jk/a-thread-only-dies-once' into maint 2013-04-26 11:25:59 -07:00
userdiff.c
userdiff.h
utf8.c pretty: Fix bug in truncation support for %>, %< and %>< 2013-04-28 12:09:37 -07:00
utf8.h add missing "format" function attributes 2013-07-09 22:23:04 -07:00
varint.c
varint.h
version.c
version.h
walker.c
walker.h
wildmatch.c wildmatch: properly fold case everywhere 2013-06-02 14:13:05 -07:00
wildmatch.h
wrap-for-bin.sh wrap-for-bin: make bin-wrappers chainable 2013-07-08 08:55:34 -07:00
wrapper.c Merge branch 'tr/fd-gotcha-fixes' 2013-07-22 11:23:13 -07:00
write_or_die.c
ws.c
wt-status.c Merge branch 'jx/clean-interactive' 2013-07-22 11:24:11 -07:00
wt-status.h wt-status: use "format" function attribute for status_printf 2013-07-09 22:23:11 -07:00
xdiff-interface.c
xdiff-interface.h
zlib.c zlib: fix compilation failures with Sun C Compilaer 2013-04-22 09:49:04 -07:00

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

	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 version 2 (some parts of it are under different licenses,
compatible with the GPLv2). It was originally written by Linus
Torvalds with help of a group of hackers around the net.

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 (read
Documentation/SubmittingPatches for instructions on patch submission).
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://news.gmane.org/gmane.comp.version-control.git/,
http://marc.info/?l=git and other archival sites.

The maintainer frequently sends the "What's cooking" reports that
list the current status of various development topics to the mailing
list.  The discussion following them give a good reference for
project status, development direction and remaining tasks.