Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Jeff King e1b161161d diffcore-pickaxe: fix infinite loop on zero-length needle
The "contains" algorithm runs into an infinite loop if the needle string
has zero length. The loop could be modified to handle this, but it makes
more sense to simply have an empty needle return no matches. Thus, a
command like
  git log -S
produces no output.

We place the check at the top of the function so that we get the same
results with or without --pickaxe-regex. Note that until now,
  git log -S --pickaxe-regex
would match everything, not nothing.

Arguably, an empty pickaxe string should simply produce an error
message; however, this is still a useful assertion to add to the
algorithm at this layer of the code.

Noticed by Bill Lear.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2007-01-25 21:17:19 -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 contrib/emacs/vc-git.el: support vc-version-other-window 2007-01-25 19:27:03 -08:00
Documentation make --upload-pack option to git-fetch configurable 2007-01-24 23:06:30 -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 Cleanup uninitialized value in chomp 2007-01-22 09:44:26 -08:00
ppc Fix more typos, primarily in the code 2006-07-10 00:36:44 -07:00
t Fix seriously broken "git pack-refs" 2007-01-25 19:16:07 -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 .mailmap: fix screw-ups in Uwe's name 2007-01-22 16:25:15 -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 Allow default core.logallrefupdates to be overridden with template's config 2007-01-24 17:33:25 -08:00
builtin-log.c Allow non-developer to clone, checkout and fetch more easily. 2007-01-25 21:16:58 -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 Fix seriously broken "git pack-refs" 2007-01-25 19:16:07 -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 reflog gc: a tag that does not point at a commit is not a crime. 2007-01-22 21:39: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 reflog inspection: introduce shortcut "-g" 2007-01-24 15:13:47 -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 Allow non-developer to clone, checkout and fetch more easily. 2007-01-25 21:16:58 -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 diffcore-pickaxe: fix infinite loop on zero-length needle 2007-01-25 21:17:19 -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 Consolidate {receive,fetch}.unpackLimit 2007-01-24 18:08:02 -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 git-checkout -m: fix merge case 2007-01-23 16:58:13 -08:00
git-clean.sh Disallow working directory commands in a bare repository. 2007-01-10 15:03:09 -08:00
git-clone.sh ls-remote and clone: accept --upload-pack=<path> as well. 2007-01-24 16:12:15 -08:00
git-commit.sh Documentation: --amend cannot be combined with -c/-C/-F. 2007-01-24 15:32:52 -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 cvsimport: activate -a option, really. 2007-01-22 12:20:14 -08:00
git-cvsserver.perl New files in git weren't being downloaded during CVS update 2007-01-24 23:38:55 -08:00
git-fetch.sh make --upload-pack option to git-fetch configurable 2007-01-24 23:06:30 -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 ls-remote and clone: accept --upload-pack=<path> as well. 2007-01-24 16:12:15 -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 make --upload-pack option to git-fetch configurable 2007-01-24 23:06: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 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: remove leading slash when printing removed directories 2007-01-22 13:15:50 -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 annotate: use pager 2007-01-24 15:08:31 -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 Allow non-developer to clone, checkout and fetch more easily. 2007-01-25 21:16:58 -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 Refactor the pack header reading function out of receive-pack.c 2007-01-24 18:08:02 -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 rename --exec to --upload-pack for fetch-pack and peek-remote 2007-01-24 16:12:15 -08: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 Allow non-developer to clone, checkout and fetch more easily. 2007-01-25 21:16: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 Allow non-developer to clone, checkout and fetch more easily. 2007-01-25 21:16:58 -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 reflog inspection: introduce shortcut "-g" 2007-01-24 15:13:47 -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 Refactor the pack header reading function out of receive-pack.c 2007-01-24 18:08:02 -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.