Git with broken hash generation to generate collisions between object IDs. Don't use this! https://undefinedbehavior.de/posts/commit-vandalism/
Go to file
Junio C Hamano eadb583134 Avoid running lstat(2) on the same cache entry.
Aside from the lstat(2) done for work tree files, there are
quite many lstat(2) calls in refname dwimming codepath.  This
patch is not about reducing them.

 * It adds a new ce_flag, CE_UPTODATE, that is meant to mark the
   cache entries that record a regular file blob that is up to
   date in the work tree.  If somebody later walks the index and
   wants to see if the work tree has changes, they do not have
   to be checked with lstat(2) again.

 * fill_stat_cache_info() marks the cache entry it just added
   with CE_UPTODATE.  This has the effect of marking the paths
   we write out of the index and lstat(2) immediately as "no
   need to lstat -- we know it is up-to-date", from quite a lot
   fo callers:

    - git-apply --index
    - git-update-index
    - git-checkout-index
    - git-add (uses add_file_to_index())
    - git-commit (ditto)
    - git-mv (ditto)

 * refresh_cache_ent() also marks the cache entry that are clean
   with CE_UPTODATE.

 * write_index is changed not to write CE_UPTODATE out to the
   index file, because CE_UPTODATE is meant to be transient only
   in core.  For the same reason, CE_UPDATE is not written to
   prevent an accident from happening.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-21 12:44:31 -08:00
arm War on whitespace 2007-06-07 00:04:01 -07:00
compat Simplify strchrnul() compat code 2007-11-11 12:10:35 -08:00
contrib Update git-completion for new 'remote rm' option 2008-01-19 23:06:02 -08:00
Documentation GIT 1.5.4-rc4 2008-01-20 17:05:11 -08:00
git-gui Merge git://repo.or.cz/git-gui 2008-01-20 16:58:38 -08:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-01-20 16:57:56 -08:00
gitweb gitweb: fix whitespace in config_to_multi (indent with tab) 2007-12-20 19:07:24 -08:00
mozilla-sha1 War on whitespace 2007-06-07 00:04:01 -07:00
perl Don't cache DESTDIR in perl/perl.mak. 2007-12-11 00:38:46 -08:00
ppc War on whitespace 2007-06-07 00:04:01 -07:00
t index: be careful when handling long names 2008-01-21 12:44:31 -08:00
templates Officially deprecate repo-config. 2008-01-17 22:52:40 -08:00
xdiff Remove unreachable statements 2007-11-15 21:23:47 -08:00
.gitignore Remove old generated files from .gitignore. 2007-12-20 17:05:31 -08:00
.mailmap GIT 1.5.4-rc1 2007-12-19 17:24:04 -08:00
alloc.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
archive-tar.c Fix the expansion pattern of the pseudo-static path buffer. 2007-09-20 22:19:17 -07:00
archive-zip.c preserve executable bits in zip archives 2007-09-18 14:56:55 -07:00
archive.c Move sha1_file_to_archive into libgit 2008-01-18 12:33:50 -08:00
archive.h archive: specfile support (--pretty=format: in archive files) 2007-09-03 16:46:16 -07:00
attr.c Merge branch 'maint' 2007-10-19 01:18:55 -04:00
attr.h Fix funny types used in attribute value representation 2007-04-18 16:17:13 -07:00
base85.c decode_85(): fix missing return. 2007-05-30 15:03:50 -07:00
blob.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
blob.h [PATCH] Anal retentive 'const unsigned char *sha1' 2005-06-08 13:04:53 -07:00
builtin-add.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-annotate.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-apply.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-archive.c Move sha1_file_to_archive into libgit 2008-01-18 12:33:50 -08:00
builtin-blame.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-branch.c git config --get-colorbool 2007-12-05 17:57:11 -08:00
builtin-bundle.c bundle create: keep symbolic refs' names instead of resolving them 2007-11-22 15:15:25 -08:00
builtin-cat-file.c Cleanup variables in cat-file 2007-04-22 00:43:24 -07:00
builtin-check-attr.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -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 Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-clean.c git-clean: fix off-by-one memory access when given no arguments 2008-01-12 11:10:09 -08:00
builtin-commit-tree.c Re-fix "builtin-commit: fix --signoff" 2007-12-09 00:55:55 -08:00
builtin-commit.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-config.c config --get-colorbool: diff.color is a deprecated synonym to color.diff 2007-12-05 23:05:10 -08:00
builtin-count-objects.c Make builtin-count-objects.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-describe.c make 'git describe --all --contains' work 2007-12-19 14:59:19 -08:00
builtin-diff-files.c add a "basic" diff config callback 2008-01-04 16:05:23 -08:00
builtin-diff-index.c add a "basic" diff config callback 2008-01-04 16:05:23 -08:00
builtin-diff-tree.c add a "basic" diff config callback 2008-01-04 16:05:23 -08:00
builtin-diff.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-fast-export.c Fix git-fast-export for zero-sized blobs 2007-12-12 10:59:22 -08:00
builtin-fetch--tool.c Error out when user doesn't have access permission to the repository 2007-11-30 13:10:11 -08:00
builtin-fetch-pack.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-fetch.c Rewrite builtin-fetch option parsing to use parse_options(). 2007-12-04 23:48:39 -08:00
builtin-fmt-merge-msg.c Fix parent rewriting in --early-output 2007-11-14 03:59:37 -08:00
builtin-for-each-ref.c for-each-ref: Fix quoting style constants. 2007-12-06 07:53:20 -08:00
builtin-fsck.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-gc.c slightly better auto gc message 2008-01-07 14:02:25 -08:00
builtin-grep.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-http-fetch.c http-push and http-fetch: handle URLs without trailing / 2008-01-20 15:18:34 -08:00
builtin-init-db.c Allow a relative builtin template directory. 2007-11-14 15:18:39 -08:00
builtin-log.c git show <tag>: show the tagger 2007-12-19 14:59:11 -08:00
builtin-ls-files.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-ls-remote.c ls-remote: add -t and -h options. 2008-01-15 17:04:21 -08:00
builtin-ls-tree.c Full rework of quote_c_style and write_name_quoted. 2007-09-20 23:45:49 -07:00
builtin-mailinfo.c Make mailsplit and mailinfo strip whitespace from the start of the input 2007-11-02 01:58:40 -07:00
builtin-mailsplit.c Merge branch 'maint' 2007-11-09 00:21:44 -08:00
builtin-merge-base.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-merge-file.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-merge-ours.c git-merge-ours: make it a builtin. 2007-11-22 14:21:59 -08:00
builtin-mv.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-name-rev.c Make builtin-name-rev.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-pack-objects.c pack-objects: remove redundant and wrong call to deflateEnd() 2008-01-10 23:27:39 -08:00
builtin-pack-refs.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-prune-packed.c return the prune-packed progress display to the inner loop 2007-11-01 15:22:32 -07:00
builtin-prune.c Add "--expire <time>" option to 'git prune' 2007-11-30 15:47:01 -08:00
builtin-push.c Merge branch 'sp/refspec-match' 2007-12-04 17:07:10 -08:00
builtin-read-tree.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-reflog.c git-update-ref: add --no-deref option for overwriting/detaching ref 2007-05-10 15:24:44 -07:00
builtin-rerere.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-reset.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-rev-list.c Don't access line[-1] for a zero-length "line" from fgets. 2008-01-04 12:28:58 -08:00
builtin-rev-parse.c git-rev-parse --symbolic-full-name 2008-01-06 18:41:43 -08:00
builtin-revert.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-rm.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin-send-pack.c Update callers of check_ref_format() 2008-01-02 11:20:09 -08:00
builtin-shortlog.c shortlog: mention the "-e" option in the usage 2008-01-09 12:25:27 -08:00
builtin-show-branch.c format-patch -s: add MIME encoding header if signer's name requires so 2007-11-07 18:37:27 -08:00
builtin-show-ref.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-stripspace.c Clean up stripspace a bit, use strbuf even more. 2007-09-27 00:33:33 -07:00
builtin-symbolic-ref.c Make builtin-symbolic-ref.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-tag.c Fix $EDITOR regression introduced by rewrite in C. 2007-12-22 10:26:08 -08:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c relax usage of the progress API 2007-10-30 16:08:40 -07:00
builtin-update-index.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
builtin-update-ref.c Make builtin-update-ref.c use parse_options 2007-10-29 21:03:31 -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-verify-tag.c verify-tag: also grok CR/LFs in the tag signature 2007-09-03 16:44:35 -07:00
builtin-write-tree.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
builtin.h Merge branch 'kh/commit' 2007-12-04 17:16:33 -08:00
bundle.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
bundle.h Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
cache-tree.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
cache-tree.h Small cache_tree_write refactor. 2007-09-26 02:27:06 -07:00
cache.h Avoid running lstat(2) on the same cache entry. 2008-01-21 12:44:31 -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 ce_match_stat, run_diff_files: use symbolic constants for readability 2007-11-10 00:24:51 -08:00
color.c Support GIT_PAGER_IN_USE environment variable 2007-12-11 00:42:05 -08:00
color.h git config --get-colorbool 2007-12-05 17:57:11 -08:00
combine-diff.c Fix rewrite_diff() name quoting. 2007-12-26 17:13:36 -08:00
command-list.txt Officially deprecate repo-config. 2008-01-17 22:52:40 -08:00
commit.c parse_commit_buffer: tighten checks while parsing 2008-01-20 11:00:57 -08:00
commit.h add -i: Fix running from a subdirectory 2007-11-25 10:23:13 -08:00
config.c Improve use of lockfile API 2008-01-16 15:35:35 -08:00
config.mak.in autoconf: Add checking for unsetenv function 2008-01-17 23:35:36 -08:00
configure.ac autoconf: Add checking for unsetenv function 2008-01-17 23:35:36 -08:00
connect.c Miscellaneous const changes and utilities 2007-11-02 22:40:43 -07:00
convert.c treat any file with NUL as binary 2008-01-16 09:10:34 -08:00
copy.c War on whitespace 2007-06-07 00:04:01 -07: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 remove dead code from the csum-file interface 2007-11-05 12:55:33 -08:00
csum-file.h remove dead code from the csum-file interface 2007-11-05 12:55:33 -08:00
ctype.c War on whitespace 2007-06-07 00:04:01 -07:00
daemon.c Style: place opening brace of a function definition at column 1 2007-11-08 15:35:32 -08:00
date.c parse_date_format(): convert a format name to an enum date_mode 2007-09-29 20:31:59 -07:00
decorate.c Fix a copy-n-paste bug in the object decorator code. 2007-04-20 19:16:12 -07:00
decorate.h Add a generic "object decorator" interface, and make object refs use it 2007-04-16 16:51:09 -07:00
delta.h Support fetching the memory usage of a delta index 2007-07-12 14:32:35 -07:00
diff-delta.c fix style of a few comments in diff-delta.c 2007-12-18 15:22:28 -08:00
diff-lib.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
diff.c Avoid running lstat(2) on the same cache entry. 2008-01-21 12:44:31 -08:00
diff.h add a "basic" diff config callback 2008-01-04 16:05:23 -08:00
diffcore-break.c rename: Break filepairs with different types. 2007-12-02 02:24:46 -08:00
diffcore-delta.c optimize diffcore-delta by sorting hash entries. 2007-10-04 00:05:36 -07:00
diffcore-order.c Use xmemdupz() in many places. 2007-09-18 17:42:17 -07:00
diffcore-pickaxe.c War on whitespace 2007-06-07 00:04:01 -07:00
diffcore-rename.c Fix a pathological case in git detecting proper renames 2007-11-30 15:49:17 -08:00
diffcore.h copy vs rename detection: avoid unnecessary O(n*m) loops 2007-10-26 23:18:06 -07:00
dir.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
dir.h per-directory-exclude: lazily read .gitignore files 2007-11-29 02:19:14 -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 Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
environment.c Support GIT_PAGER_IN_USE environment variable 2007-12-11 00:42:05 -08:00
exec_cmd.c Trace and quote with argv: get rid of unneeded count argument. 2007-12-03 22:11:53 -08:00
exec_cmd.h use only the $PATH for exec'ing git commands 2007-10-29 20:51:37 -07:00
fast-import.c fast-import: Don't use a maybe-clobbered errno value 2008-01-18 13:19:37 -08:00
fetch-pack.h Always obtain fetch-pack arguments from struct fetch_pack_args 2007-09-19 03:22:31 -07:00
fixup-builtins Start deprecating "git-command" in favor of "git command" 2007-07-02 22:39:10 -07:00
generate-cmdlist.sh Consolidate command list to one. 2007-12-01 23:48:28 -08:00
git-add--interactive.perl add--interactive: allow diff colors without interactive colors 2008-01-06 18:41:44 -08:00
git-am.sh git-am: Run git gc only once and not for every patch. 2008-01-05 00:07:57 -08:00
git-archimport.perl Make git-archimport log entries more consistent 2007-08-30 19:22:02 -07:00
git-bisect.sh git-bisect visualize: work in non-windowed environments better 2007-12-08 02:58:26 -08:00
git-checkout.sh Fix a typo in checkout.sh and cleanup one-line help messages 2007-12-11 09:52:44 -08:00
git-clone.sh clone: fix options '-o' and '--origin' to be recognised again 2007-12-19 14:59:18 -08:00
git-compat-util.h Uninline prefixcmp() 2008-01-03 01:23:12 -08:00
git-cvsexportcommit.perl cvsexportcommit: fix massive commits 2007-12-14 12:06:04 -08:00
git-cvsimport.perl cvsimport: remove last use of repo-config from git standard tools 2008-01-13 21:48:22 -08:00
git-cvsserver.perl git-cvsserver runs hooks/post-update 2007-12-05 01:15:01 -08:00
git-filter-branch.sh filter-branch: work correctly with ambiguous refnames 2008-01-06 18:41:43 -08:00
git-help--browse.sh rename git-browse--help to git-help--browse 2007-12-16 12:52:40 -08:00
git-instaweb.sh Fix git-instaweb breakage on MacOS X due to the limited sed functionality 2007-12-19 14:59:19 -08:00
git-lost-found.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-merge-octopus.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge-one-file.sh Support a merge with conflicting gitlink change 2007-12-11 00:40:56 -08:00
git-merge-resolve.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge-stupid.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-mergetool.sh Allow git-mergetool to handle paths with a leading space 2008-01-07 21:00:54 -08:00
git-parse-remote.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-pull.sh "git pull --tags": error out with a better message. 2007-12-28 21:01:24 -08:00
git-quiltimport.sh Replace instances of export VAR=VAL with VAR=VAL; export VAR 2007-11-28 17:23:18 -08:00
git-rebase--interactive.sh Squelch bogus progress output from git-rebase--interactive 2008-01-14 20:04:02 -08:00
git-rebase.sh Merge branch 'maint' 2007-11-28 17:06:57 -08:00
git-relink.perl Big tool rename. 2005-09-07 17:45:20 -07:00
git-remote.perl Merge branch 'maint' 2007-10-26 23:17:23 -07:00
git-repack.sh Migrate git-repack.sh to use git-rev-parse --parseopt 2007-11-05 22:48:13 -08:00
git-request-pull.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-send-email.perl send-email: add no-validate option 2008-01-18 13:33:57 -08:00
git-sh-setup.sh shell-scripts usage(): consistently exit with non-zero 2007-12-20 12:58:06 -08:00
git-stash.sh git-stash clear: refuse to work with extra parameter for now 2008-01-06 18:41:36 -08:00
git-submodule.sh Do not rely on the exit status of "unset" for unset variables 2007-12-04 14:48:45 -08:00
git-svn.perl git-svn: handle leading/trailing whitespace from svnsync revprops 2008-01-12 10:58:06 -08:00
GIT-VERSION-GEN GIT 1.5.4-rc3 2008-01-11 21:40:55 -08:00
git.c Merge branch 'kh/commit' 2007-12-04 17:16:33 -08:00
git.spec.in RPM spec: include gitk message files. 2008-01-11 21:40:25 -08:00
grep.c Move buffer_is_binary() to xdiff-interface.h 2007-06-15 23:27:23 -07:00
grep.h grep --all-match 2006-09-27 23:59:09 -07:00
hash-object.c git-hash-object should honor config variables 2007-11-11 02:51:53 -08:00
hash.c Do linear-time/space rename logic for exact renames 2007-10-26 23:18:06 -07:00
hash.h Do linear-time/space rename logic for exact renames 2007-10-26 23:18:06 -07:00
help.c rename git-browse--help to git-help--browse 2007-12-16 12:52:40 -08:00
http-push.c http-push and http-fetch: handle URLs without trailing / 2008-01-20 15:18:34 -08:00
http-walker.c Move fetch_ref from http-push.c and http-walker.c to http.c 2007-12-14 21:31:59 -08:00
http.c Move fetch_ref from http-push.c and http-walker.c to http.c 2007-12-14 21:31:59 -08:00
http.h Move fetch_ref from http-push.c and http-walker.c to http.c 2007-12-14 21:31:59 -08:00
ident.c Fix grammar nits in documentation and in code comments. 2008-01-03 09:15:17 -08:00
imap-send.c strbuf change: be sure ->buf is never ever NULL. 2007-09-29 02:13:33 -07:00
index-pack.c Merge branch 'np/progress' 2007-11-14 14:04:19 -08:00
INSTALL Mention 'cpio' dependency in INSTALL 2007-10-02 17:35:29 -07:00
interpolate.c Merge branch 'mv/unknown' 2007-10-03 04:28:24 -07:00
interpolate.h Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
list-objects.c Fix memory leak in traverse_commit_list 2007-11-10 01:52:54 -08:00
list-objects.h pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
lockfile.c close_lock_file(): new function in the lockfile API 2008-01-16 15:35:03 -08:00
log-tree.c Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
log-tree.h rev-list: implement --bisect-all 2007-10-26 23:27:23 -07:00
mailmap.c mailmap: fix bogus for() loop that happened to be safe by accident 2007-12-08 03:40:12 -08:00
mailmap.h Split out mailmap handling out of shortlog 2007-04-29 02:05:06 -07:00
Makefile Move sha1_file_to_archive into libgit 2008-01-18 12:33:50 -08:00
match-trees.c Improved const correctness for strings 2007-10-21 01:43:27 -04:00
merge-file.c xdl_diff: identify call sites. 2007-12-13 23:04:26 -08:00
merge-index.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
merge-recursive.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
merge-tree.c xdl_diff: identify call sites. 2007-12-13 23:04:26 -08:00
mktag.c Now that cache.h needs strbuf.h, remove useless includes. 2007-09-16 17:30:03 -07:00
mktree.c Rework unquote_c_style to work on a strbuf. 2007-09-20 23:32:18 -07:00
object-refs.c War on whitespace 2007-06-07 00:04:01 -07:00
object.c Don't dereference NULL upon lookup failure. 2007-12-22 11:15:38 -08:00
object.h War on whitespace 2007-06-07 00:04:01 -07:00
pack-check.c pack-check: Sort entries by pack offset before unpacking them. 2007-06-06 16:04:02 -07:00
pack-redundant.c War on whitespace 2007-06-07 00:04:01 -07:00
pack-write.c Merge branch 'np/progress' 2007-11-02 16:27:37 -07:00
pack.h Merge branch 'np/progress' 2007-11-02 16:27:37 -07:00
pager.c Support GIT_PAGER_IN_USE environment variable 2007-12-11 00:42:05 -08:00
parse-options.c Force the sticked form for options with optional arguments. 2007-12-22 10:26:08 -08:00
parse-options.h parse-options: Allow to hide options from the default usage. 2007-11-22 22:11:28 -08:00
patch-delta.c make patch_delta() error cases a bit more verbose 2006-12-18 15:30:17 -08:00
patch-id.c War on whitespace 2007-06-07 00:04:01 -07:00
patch-ids.c Make the diff_options bitfields be an unsigned with explicit masks. 2007-11-11 16:54:15 -08:00
patch-ids.h Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07:00
path-list.c path-list.c: always free strdup'ed paths 2007-08-15 13:43:08 -07:00
path-list.h path-list.c: always free strdup'ed paths 2007-08-15 13:43:08 -07:00
path.c Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
pkt-line.c War on whitespace 2007-06-07 00:04:01 -07:00
pkt-line.h Fix pkt-line.h to compile with a non-GCC compiler 2006-06-26 02:11:53 -07:00
pretty.c custom pretty format: tolerate empty e-mail address 2008-01-06 18:41:43 -08:00
progress.c Flush progress message buffer in display(). 2007-11-20 13:16:15 -08:00
progress.h nicer display of thin pack completion 2007-11-08 15:43:41 -08:00
quote.c Fix rewrite_diff() name quoting. 2007-12-26 17:13:36 -08:00
quote.h Fix rewrite_diff() name quoting. 2007-12-26 17:13:36 -08:00
reachable.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c Avoid running lstat(2) on the same cache entry. 2008-01-21 12:44:31 -08:00
README Update README to point at a few key periodical messages to the list 2007-03-25 17:42:32 -07:00
receive-pack.c receive-pack: reject invalid refnames 2008-01-04 15:59:43 -08:00
reflog-walk.c git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
reflog-walk.h git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
refs.c refs.c: rework ref_locks by abstracting from underlying struct lock_file 2008-01-16 15:36:10 -08:00
refs.h lock_any_ref_for_update(): reject wildcard return from check_ref_format 2008-01-02 02:28:54 -08:00
RelNotes GIT 1.5.3.8 2008-01-07 22:41:43 -08:00
remote.c remote: Fix bogus make_branch() call in configuration reader. 2007-12-14 20:34:56 -08:00
remote.h Add remote.<name>.proxy 2007-12-03 23:43:07 -08:00
revision.c Fix "git log --diff-filter" bug 2007-12-26 11:57:36 -08:00
revision.h shortlog: default to HEAD when the standard input is a tty 2007-12-11 17:01:31 -08:00
run-command.c run-command: Support sending stderr to /dev/null 2007-11-11 17:09:55 -08:00
run-command.h run-command: Support sending stderr to /dev/null 2007-11-11 17:09:55 -08:00
send-pack.h Teach send-pack a mirror mode 2007-11-09 21:14:10 -08:00
server-info.c Don't access line[-1] for a zero-length "line" from fgets. 2008-01-04 12:28:58 -08:00
setup.c Fix grammar nits in documentation and in code comments. 2008-01-03 09:15:17 -08:00
sha1_file.c Fix random fast-import errors when compiled with NO_MMAP 2008-01-17 22:39:20 -08:00
sha1_name.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
shallow.c War on whitespace 2007-06-07 00:04:01 -07:00
shell.c shell should call the new setup_path() to setup $PATH 2007-10-29 20:51:37 -07:00
show-index.c Use PRIuMAX instead of 'unsigned long long' in show-index 2007-10-21 02:16:57 -04:00
sideband.c recv_sideband: Do not use ANSI escape sequence on dumb terminals. 2008-01-09 12:23:59 -08:00
sideband.h atomic write for sideband remote messages 2006-10-11 11:13:01 -07:00
strbuf.c Uninline prefixcmp() 2008-01-03 01:23:12 -08:00
strbuf.h builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well. 2007-11-26 09:13:17 -08:00
symlinks.c Add has_symlink_leading_path() function. 2007-05-11 22:11:07 -07:00
tag.c parse_tag_buffer: don't parse invalid tags 2008-01-06 18:41:44 -08: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-absolute-path.c Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
test-chmtime.c Add test-chmtime: a utility to change mtime on files 2007-02-25 11:09:56 -08:00
test-date.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
test-delta.c Fix compilation of test-delta 2007-05-01 02:59:08 -07:00
test-genrandom.c simple random data generator for tests 2007-04-11 19:23:32 -07:00
test-match-trees.c A new merge stragety 'subtree'. 2007-04-07 02:29:40 -07:00
test-parse-options.c parse-options: abbreviation engine fix. 2007-11-05 22:46:45 -08:00
test-sha1.c test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
test-sha1.sh the use of 'tr' in the test suite isn't really portable 2007-12-17 20:49:18 -08:00
trace.c Trace and quote with argv: get rid of unneeded count argument. 2007-12-03 22:11:53 -08:00
transport.c Don't access line[-1] for a zero-length "line" from fgets. 2008-01-04 12:28:58 -08:00
transport.h Merge branch 'aw/mirror-push' into jk/send-pack 2007-11-14 03:13:30 -08:00
tree-diff.c Fix small memory leaks induced by diff_tree_setup_paths 2007-12-12 10:59:22 -08:00
tree-walk.c tree-walk: don't parse incorrect entries 2008-01-06 18:41:44 -08:00
tree-walk.h rename: Break filepairs with different types. 2007-12-02 02:24:46 -08:00
tree.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c Use xmkstemp() instead of mkstemp() 2007-08-14 22:20:26 -07:00
unpack-trees.c Make on-disk index representation separate from in-core one 2008-01-21 12:44:31 -08:00
unpack-trees.h Move old index entry removal from "unpack_trees()" into the individual functions 2007-08-10 13:59:19 -07: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 upload-pack: Use finish_{command,async}() instead of waitpid(). 2007-11-05 22:47:28 -08:00
usage.c print warning/error/fatal messages in one shot 2007-11-09 22:25:36 -08:00
utf8.c utf8_width(): allow non NUL-terminated input 2008-01-06 20:53:46 -08:00
utf8.h utf8_width(): allow non NUL-terminated input 2008-01-06 20:53:46 -08:00
var.c Re-fix "builtin-commit: fix --signoff" 2007-12-09 00:55:55 -08:00
walker.c Clarify error response from 'git fetch' for bad responses 2007-12-17 20:49:18 -08:00
walker.h Modularize commit-walker 2007-09-19 03:22:30 -07:00
write_or_die.c Don't fflush(stdout) when it's not helpful 2007-06-30 20:16:12 -07:00
ws.c whitespace: more accurate initial-indent highlighting 2007-12-16 13:07:58 -08:00
wt-status.c git-commit: squelch needless message during an empty merge 2007-12-12 20:50:33 -08:00
wt-status.h git-commit: squelch needless message during an empty merge 2007-12-12 20:50:33 -08:00
xdiff-interface.c Re(-re)*fix trim_common_tail() 2007-12-20 20:54:23 -08:00
xdiff-interface.h xdl_diff: identify call sites. 2007-12-13 23:04:26 -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.

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.