Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Linus Torvalds 18af29f247 fsck-objects: refactor checking for connectivity
This separates the connectivity check into separate codepaths,
one for reachable objects and the other for unreachable ones,
while adding a lot of comments to explain what is going on.

When checking an unreachable object, unlike a reachable one, we
do not have to complain if it does not exist (we used to
complain about a missing blob even when the only thing that
references it is a tree that is dangling).  Also we do not have
to check and complain about objects that are referenced by an
unreachable object.

This makes the messages from fsck-objects a lot less noisy and
more useful.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-21 23:35:47 -08:00
arm [PATCH] ARM optimized SHA1 implementation 2005-09-20 18:10:00 -07:00
compat Replacing the system call pread() with lseek()/xread()/lseek() sequence. 2007-01-09 16:40:40 -08:00
contrib Replace "echo -n" with printf in shell scripts. 2007-01-15 22:23:21 -08:00
Documentation git-gc: do not run git-prune by default. 2007-01-21 23:28:28 -08:00
gitweb gitweb: Fix git_patchset_body not closing <div class="patch"> 2007-01-09 16:23:39 -08:00
mozilla-sha1 Fix constness of input in mozilla-sha1/sha1.c::SHA1_Update(). 2005-11-01 14:05:12 -08:00
perl Fix spurious compile error 2007-01-16 13:43:50 -08:00
ppc Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
t Revert "prune: --grace=time" 2007-01-21 21:29:57 -08:00
templates update hook: redirect _both_ diagnostic lines to stderr upon tag failure 2006-12-28 14:12:48 -08:00
xdiff Fix yet another subtle xdl_merge() bug 2006-12-30 18:05:05 -08:00
.gitignore Ignore git-init and git-remote 2007-01-08 21:53:23 -08:00
.mailmap add .mailmap for git-shortlog output with the git repository 2006-12-25 21:41:11 -08:00
alloc.c Add NO_C99_FORMAT to support older compilers. 2006-08-02 00:27:18 -07:00
archive-tar.c Set default "tar" umask to 002 and owner.group to root.root 2007-01-06 10:37:14 -08:00
archive-zip.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
archive.h Remove unsupported C99 style struct initializers in git-archive. 2006-11-04 23:48:36 -08:00
base85.c improve base85 generated assembly code 2006-05-08 11:05:01 -07:00
blob.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
blob.h [PATCH] Anal retentive 'const unsigned char *sha1' 2005-06-08 13:04:53 -07:00
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 git-annotate: no need to exec blame; it is built-in now. 2006-11-10 13:36:44 -08:00
builtin-apply.c apply --cached: fix crash in subdirectory 2007-01-20 19:05:20 -08:00
builtin-archive.c Make sure git_connect() always give two file descriptors. 2007-01-21 21:51:01 -08:00
builtin-blame.c Merge branch 'jc/blame' 2006-12-20 13:58:10 -08:00
builtin-branch.c branch -f: no reason to forbid updating the current branch in a bare repo. 2007-01-20 19:19:12 -08:00
builtin-cat-file.c Relative timestamps in git log 2006-08-26 19:12:03 -07:00
builtin-check-ref-format.c Further clean-up: usage() vs die() 2006-08-03 21:55:41 -07:00
builtin-checkout-index.c Use PATH_MAX instead of MAXPATHLEN 2006-08-26 17:52:58 -07:00
builtin-commit-tree.c commit-tree: cope with different ways "utf-8" can be spelled. 2006-12-30 15:58:43 -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 Remove hash in git-describe in favor of util slot. 2007-01-14 21:17:27 -08:00
builtin-diff-files.c Merge branch 'th/diff-extra' 2006-08-12 19:34:41 -07:00
builtin-diff-index.c Call setup_git_directory() much earlier 2006-07-29 01:34:07 -07:00
builtin-diff-stages.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
builtin-diff-tree.c Call setup_git_directory() much earlier 2006-07-29 01:34:07 -07:00
builtin-diff.c Revert "git-diff: Introduce --index and deprecate --cached." 2006-12-13 02:03:11 -08:00
builtin-fmt-merge-msg.c "git fmt-merge-msg" SIGSEGV 2006-11-16 23:45:57 -08:00
builtin-for-each-ref.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-grep.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -08:00
builtin-init-db.c use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
builtin-log.c --walk-reflogs: do not crash with cyclic reflog ancestry 2007-01-20 22:58:42 -08:00
builtin-ls-files.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-ls-tree.c remove unnecessary initializations 2006-08-15 21:22:20 -07:00
builtin-mailinfo.c -u is now default for 'git-mailinfo'. 2007-01-09 21:32:49 -08:00
builtin-mailsplit.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-merge-file.c move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00
builtin-mv.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-name-rev.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-pack-objects.c Use fixed-size integers for .idx file I/O 2007-01-18 14:11:50 -08:00
builtin-pack-refs.c --prune is now default for 'pack-refs' 2007-01-08 14:46:00 -08:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c Revert "prune: --grace=time" 2007-01-21 21:29:57 -08:00
builtin-push.c rename --exec to --receive-pack for push and send-pack 2007-01-19 17:54:33 -08:00
builtin-read-tree.c read-tree: document --exclude-per-directory 2006-12-05 23:44:23 -08:00
builtin-reflog.c git reflog expire: document --stale-fix option. 2007-01-15 14:43:03 -08:00
builtin-repo-config.c Merge branch 'jc/clone' 2006-12-20 13:56:14 -08:00
builtin-rerere.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
builtin-rev-list.c Teach all of log family --left-right output. 2006-12-17 10:35:28 -08:00
builtin-rev-parse.c Tell between packed, unpacked and symbolic refs. 2006-09-20 22:02:01 -07:00
builtin-rm.c git-rm documentation: remove broken behaviour from the example. 2007-01-16 11:50:29 -08:00
builtin-runstatus.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-shortlog.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-show-branch.c show-branch --reflog: fix show_date() call 2007-01-20 19:02:03 -08:00
builtin-show-ref.c show-ref: fix --exclude-existing 2006-12-18 13:40:25 -08:00
builtin-stripspace.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-symbolic-ref.c Fix git-fetch while on detached HEAD not to give needlessly alarming errors 2007-01-15 15:35:07 -08:00
builtin-tar-tree.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
builtin-unpack-objects.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
builtin-update-index.c trust-executable-bit: fix breakage for symlinks 2006-11-22 16:36:49 -08:00
builtin-update-ref.c update-ref: -d flag and ref creation safety. 2006-09-27 02:01:42 -07: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 Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
builtin.h Make git-describe a builtin. 2007-01-10 08:27:01 -08:00
cache-tree.c Catch errors when writing an index that contains invalid objects. 2006-11-13 14:26:51 -08:00
cache-tree.h write-tree: --prefix=<path> 2006-05-01 22:29:16 -07:00
cache.h Do not verify filenames in a bare repository 2007-01-20 19:10:26 -08:00
check-builtins.sh cherry is built-in, do not ship git-cherry.sh 2006-11-05 11:26:21 -08:00
check-racy.c Add check program "git-check-racy" 2006-08-15 21:38:07 -07:00
color.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
color.h Move color option parsing out of diff.c and into color.[ch] 2006-09-08 16:44:10 -07:00
combine-diff.c Merge branch 'jc/combined' 2006-10-26 02:07:18 -07:00
commit.c Use log output encoding in --pretty=email headers. 2007-01-13 10:10:20 -08:00
commit.h is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
config.c config_set_multivar(): disallow newlines in keys 2007-01-19 17:55:14 -08:00
config.mak.in remove merge-recursive-old 2006-11-21 20:55:39 -08:00
configure.ac Remove NO_ACCURATE_DIFF options from build systems 2006-12-22 23:13:28 -08:00
connect.c Make sure git_connect() always give two file descriptors. 2007-01-21 21:51:01 -08:00
convert-objects.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
copy.c copy_fd: close ifd on error 2005-12-27 10:49:25 -08:00
COPYING Add a COPYING notice, making it explicit that the license is GPLv2. 2005-04-11 10:18:16 -07:00
csum-file.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
csum-file.h [PATCH] -Werror fixes 2005-08-09 22:28:19 -07:00
ctype.c Unlocalized isspace and friends 2005-10-14 17:17:27 -07:00
daemon.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
date.c show_date(): fix relative dates 2007-01-20 18:57:47 -08:00
delta.h pack-object: slightly more efficient 2006-05-15 12:32:13 -07:00
diff-delta.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
diff-lib.c diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
diff.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
diff.h diff-index --cached --raw: show tree entry on the LHS for unmerged entries. 2007-01-06 22:57:42 -08:00
diffcore-break.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
diffcore-delta.c diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix). 2006-03-15 13:19:27 -08:00
diffcore-order.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
diffcore-pickaxe.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
diffcore-rename.c Bypass expensive content comparsion during rename detection. 2006-12-14 02:40:33 -08:00
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 Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
entry.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
environment.c Introduce is_bare_repository() and core.bare configuration variable 2007-01-07 21:36:35 -08:00
exec_cmd.c Use preprocessor constants for environment variable names. 2006-12-19 01:51:51 -08:00
exec_cmd.h Const tightening. 2006-03-05 02:47:29 -08:00
fetch-pack.c Update documentation of fetch-pack, push and send-pack 2007-01-19 17:54:32 -08:00
fetch.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
fetch.h Teach git-local-fetch the --stdin switch 2006-07-27 19:33:48 -07:00
fsck-objects.c fsck-objects: refactor checking for connectivity 2007-01-21 23:35:47 -08:00
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 --interactive: hunk splitting 2006-12-18 16:28:45 -08:00
git-am.sh Merge branch 'jc/bare' 2007-01-11 16:50:36 -08:00
git-applymbox.sh -u is now default for 'git-mailinfo'. 2007-01-09 21:32:49 -08:00
git-applypatch.sh Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
git-archimport.perl use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-bisect.sh bisect reset: Leave the tree in usable state if git-checkout failed 2006-10-16 23:04:05 -07:00
git-checkout.sh Use merge-recursive in git-checkout -m (branch switching) 2007-01-16 21:32:06 -08:00
git-clean.sh Disallow working directory commands in a bare repository. 2007-01-10 15:03:09 -08:00
git-clone.sh use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-commit.sh Merge branch 'jc/int' 2007-01-14 12:04:25 -08:00
git-compat-util.h Use fixed-size integers for the on-disk pack structure. 2007-01-18 14:11:50 -08:00
git-cvsexportcommit.perl Make cvsexportcommit work with filenames with spaces and non-ascii characters. 2006-12-11 14:16:54 -08:00
git-cvsimport.perl use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-cvsserver.perl cvsserver: fix revision number during file adds 2007-01-08 21:45:13 -08:00
git-fetch.sh Use cd_to_toplevel in scripts that implement it by hand. 2007-01-12 16:54:38 -08:00
git-gc.sh git-gc: do not run git-prune by default. 2007-01-21 23:28:28 -08:00
git-instaweb.sh instaweb: Nicer error message when the http daemon isn't found 2007-01-06 10:44:59 -08:00
git-lost-found.sh lost-found: use fsck-objects --full 2006-07-27 22:15:01 -07:00
git-ls-remote.sh make git a bit less cryptic on fetch errors 2006-12-18 15:31:28 -08:00
git-merge-octopus.sh read-tree --aggressive 2006-02-06 21:43:27 -08:00
git-merge-one-file.sh Use git-merge-file in git-merge-one-file, too 2006-12-21 20:33:06 -08:00
git-merge-ours.sh git-merge-ours: make sure our index matches HEAD 2005-11-03 14:55:11 -08:00
git-merge-resolve.sh read-tree --aggressive 2006-02-06 21:43:27 -08:00
git-merge-stupid.sh Use Daniel's read-tree in the merge strategy 'resolve'. 2005-09-10 18:30:41 -07:00
git-merge.sh Merge branch 'sp/merge' (early part) 2007-01-14 12:03:53 -08:00
git-p4import.py use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
git-parse-remote.sh Fix git-fetch while on detached HEAD not to give needlessly alarming errors 2007-01-15 15:35:07 -08:00
git-pull.sh git-pull: disallow implicit merging to detached HEAD 2007-01-15 15:37:22 -08:00
git-quiltimport.sh Replace "echo -n" with printf in shell scripts. 2007-01-15 22:23:21 -08:00
git-rebase.sh git-rebase: allow rebasing a detached HEAD. 2007-01-20 21:31:00 -08:00
git-relink.perl Big tool rename. 2005-09-07 17:45:20 -07:00
git-remote.perl git-remote: no longer silent on unknown commands. 2007-01-13 10:03:44 -08:00
git-repack.sh Make git-prune-packed a bit more chatty. 2007-01-12 15:10:29 -08:00
git-request-pull.sh Pass -M to diff in request-pull 2006-12-04 13:39:27 -08:00
git-reset.sh Shell syntax fix in git-reset 2007-01-18 14:22:24 -08:00
git-resolve.sh merge and resolve: Output short hashes and .. in "Updating ..." 2006-09-30 22:13:28 -07:00
git-revert.sh Use nice names in conflict markers during cherry-pick/revert. 2007-01-14 23:17:32 -08:00
git-send-email.perl send-email: work around double encoding of in-body From field. 2007-01-10 13:39:16 -08:00
git-sh-setup.sh Define cd_to_toplevel shell function in git-sh-setup 2007-01-12 16:54:38 -08:00
git-svn.perl git-svn: print and flush authentication prompts to STDERR 2007-01-15 22:30:42 -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 git-tag -d: allow deleting multiple tags at once. 2007-01-20 19:19:12 -08:00
git-verify-tag.sh git-verify-tag: make sure we remove temporary file. 2007-01-03 12:34:20 -08:00
GIT-VERSION-GEN GIT v1.5.0-rc2 2007-01-20 23:44:55 -08:00
git.c Merge branch 'jc/bare' 2007-01-11 16:50:36 -08:00
git.spec.in Get rid of the dependency on RCS' merge program 2006-12-12 21:47:29 -08:00
gitk [PATCH] Make gitk work when launched in a subdirectory 2007-01-13 16:15:09 +11:00
grep.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
grep.h grep --all-match 2006-09-27 23:59:09 -07:00
hash-object.c Replace some calls to die(usage_str) with usage(usage_str). 2006-08-03 21:44:13 -07:00
help.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
http-fetch.c Don't die in git-http-fetch when fetching packs. 2007-01-09 17:54:25 -08:00
http-push.c Don't die in git-http-fetch when fetching packs. 2007-01-09 17:54:25 -08:00
http.c http/ftp: optionally ask curl to not use EPSV command 2006-09-28 19:02:46 -07:00
http.h Work around http-fetch built with cURL 7.16.0 2006-12-27 16:44:30 -08:00
ident.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
imap-send.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
index-pack.c index-pack: write-or-die instead of unchecked write-in-full. 2007-01-11 13:19:31 -08:00
INSTALL use 'init' instead of 'init-db' for shipped docs and tools 2007-01-12 13:36:16 -08:00
interpolate.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
interpolate.h do not discard constness in interp_set_entry value argument 2006-09-28 18:25:36 -07:00
list-objects.c pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
list-objects.h pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
local-fetch.c short i/o: fix calls to read to use xread or read_in_full 2007-01-08 15:44:47 -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 Fix --walk-reflog with --pretty=oneline 2007-01-20 21:32:31 -08:00
log-tree.h Add msg_sep to diff_options 2006-06-26 14:58:41 -07:00
Makefile reflog-walk: build fixes 2007-01-20 21:32:31 -08:00
merge-base.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
merge-file.c Get rid of the dependency on RCS' merge program 2006-12-12 21:47:29 -08:00
merge-index.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
merge-recursive.c Convert output messages in merge-recursive to past tense. 2007-01-14 12:20:39 -08:00
merge-tree.c Handle invalid argc gently 2006-09-14 11:48:11 -07:00
mktag.c Use xmalloc instead of malloc 2006-08-31 16:24:39 -07:00
mktree.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
object-refs.c Fix git-fsck-objects SIGSEGV/divide-by-zero 2006-09-04 15:24:10 -07:00
object.c Add git-for-each-ref: helper for language bindings 2006-09-16 10:22:02 -07:00
object.h Add git-for-each-ref: helper for language bindings 2006-09-16 10:22:02 -07:00
pack-check.c pack-check.c::verify_packfile(): don't run SHA-1 update on huge data 2007-01-04 22:17:59 -08:00
pack-redundant.c Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length. 2006-08-17 14:23:53 -07:00
pack.h Use fixed-size integers for the on-disk pack structure. 2007-01-18 14:11:50 -08:00
pager.c pager: default to LESS=FRSX not LESS=FRS 2006-10-22 20:28:10 -07:00
patch-delta.c make patch_delta() error cases a bit more verbose 2006-12-18 15:30:17 -08:00
patch-id.c Convert memcpy(a,b,20) to hashcpy(a,b). 2006-08-23 13:53:10 -07:00
path-list.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
path-list.h Extract helper bits from c-merge-recursive work 2006-07-26 13:36:36 -07:00
path.c Merge branch 'jc/detached-head' 2007-01-11 16:47:34 -08:00
peek-remote.c Test return value of finish_connect() 2006-09-13 12:20:15 -07:00
pkt-line.c make git a bit less cryptic on fetch errors 2006-12-18 15:31:28 -08:00
pkt-line.h Fix pkt-line.h to compile with a non-GCC compiler 2006-06-26 02:11:53 -07:00
quote.c Merge branch 'maint' 2006-10-30 19:38:50 -08:00
quote.h Add git-for-each-ref: helper for language bindings 2006-09-16 10:22:02 -07:00
reachable.c Sanitize for_each_reflog_ent() 2007-01-09 03:04:04 -08:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c write-cache: do not leak the serialized cache-tree data. 2007-01-11 12:25:16 -08:00
README sanitize content of README file 2007-01-17 12:03:50 -08:00
receive-pack.c shallow repository: disable unsupported operations for now. 2007-01-21 22:23:58 -08:00
reflog-walk.c --walk-reflogs: actually find the right commit by date. 2007-01-20 21:32:31 -08:00
reflog-walk.h Fix --walk-reflog with --pretty=oneline 2007-01-20 21:32:31 -08:00
refs.c show-branch --reflog: show the reflog message at the top. 2007-01-19 17:57:53 -08:00
refs.h Extend read_ref_at() to be usable from places other than sha1_name. 2007-01-19 17:57:53 -08:00
revision.c Teach the revision walker to walk by reflogs with --walk-reflogs 2007-01-20 21:32:31 -08:00
revision.h Teach the revision walker to walk by reflogs with --walk-reflogs 2007-01-20 21:32:31 -08:00
rsh.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
rsh.h git-ssh-push/pull: usability improvements 2005-06-07 14:23:46 -07:00
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 rename --exec to --receive-pack for push and send-pack 2007-01-19 17:54:33 -08:00
server-info.c Tell between packed, unpacked and symbolic refs. 2006-09-20 22:02:01 -07:00
setup.c Do not verify filenames in a bare repository 2007-01-20 19:10:26 -08:00
sha1_file.c Use fixed-size integers for .idx file I/O 2007-01-18 14:11:50 -08:00
sha1_name.c Extend read_ref_at() to be usable from places other than sha1_name. 2007-01-19 17:57:53 -08:00
shallow.c is_repository_shallow(): prototype fix. 2007-01-21 22:22:23 -08:00
shell.c Const tightening. 2006-03-05 02:47:29 -08:00
show-index.c Fix typo in show-index.c 2006-10-20 16:50:36 -07:00
sideband.c atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
sideband.h atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
ssh-fetch.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
ssh-pull.c Be more backward compatible with git-ssh-{push,pull}. 2005-09-15 14:56:37 -07:00
ssh-push.c Be more backward compatible with git-ssh-{push,pull}. 2005-09-15 14:56:37 -07:00
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 simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
strbuf.h [PATCH] Kill a bunch of pointer sign warnings for gcc4 2005-05-18 08:44:23 -07:00
tag.c Remove TYPE_* constant macros and use object_type enums consistently. 2006-07-12 23:18:03 -07:00
tag.h Be careful when dereferencing tags. 2005-11-02 16:50:58 -08:00
tar.h tar-tree: Introduce write_entry() 2006-03-25 16:35:43 -08:00
test-date.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
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: test hashing large buffer 2006-06-24 02:59:20 -07:00
test-sha1.sh test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
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 Make git-cherry handle root trees 2006-10-26 18:31:17 -07: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_entry(): new tree-walking helper function 2006-05-30 23:03:01 -07:00
tree.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c short i/o: fix calls to write to use xwrite or write_in_full 2007-01-08 15:44:47 -08:00
unpack-trees.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
unpack-trees.h read-tree: further loosen "working file will be lost" check. 2006-12-05 23:25:52 -08:00
update-server-info.c Make the rest of commands work from a subdirectory. 2005-11-28 23:13:02 -08:00
upload-pack.c shallow repository: disable unsupported operations for now. 2007-01-21 22:23:58 -08:00
usage.c Introduce a global level warn() function. 2006-12-21 22:59:34 -08:00
utf8.c commit-tree: cope with different ways "utf-8" can be spelled. 2006-12-30 15:58:43 -08:00
utf8.h commit-tree: cope with different ways "utf-8" can be spelled. 2006-12-30 15:58:43 -08:00
var.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
write_or_die.c Remove read_or_die in favor of better error messages. 2007-01-14 00:42:41 -08:00
wt-status.c simplify the "no changes added to commit" message 2007-01-13 18:48:10 -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 move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08:00
xdiff-interface.h move read_mmfile() into xdiff-interface 2006-12-21 23:10:14 -08: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.
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.