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 b3f01ff29f diff -p: squelch "diff --git" header for stat-dirty paths
The plumbing "diff" commands look at the working tree files without
refreshing the index themselves for performance reasons (the calling
script is expected to do that upfront just once, before calling one or
more of them).  In the early days of git, they showed the "diff --git"
header before they actually ask the xdiff machinery to produce patches,
and ended up showing only these headers if the real contents are the same
and the difference they noticed was only because the stat info cached in
the index did not match that of the working tree. It was too late for the
implementation to take the header that it already emitted back.

But 3e97c7c (No diff -b/-w output for all-whitespace changes, 2009-11-19)
introduced necessary logic to keep the meta-information headers in a
strbuf and delay their output until the xdiff machinery noticed actual
changes. This was primarily in order to generate patches that ignore
whitespaces. When operating under "-w" mode, we wouldn't know if the
header is needed until we actually look at the resulting patch, so it was
a sensible thing to do, but we did not realize that the same reasoning
applies to stat-dirty paths.

Later, 296c6bb (diff: fix "git show -C -C" output when renaming a binary
file, 2010-05-26) generalized this machinery and added must_show_header
toggle.  This is turned on when the header must be shown even when there
is no patch to be produced, e.g. only the mode was changed, or the path
was renamed, without changing the contents.  However, when it did so, it
still kept the special case for the "-w" mode, which meant that the
plumbing would keep showing these phantom changes.

This corrects this historical inconsistency by allowing the plumbing to
omit paths that are only stat-dirty from its output in the same way as it
handles whitespace only changes under "-w" option.

The change in the behaviour can be seen in the updated test.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-03-01 12:00:01 -08:00
block-sha1 msvc: Select the "fast" definition of the {get,put}_be32() macros 2010-06-27 21:59:32 -07:00
builtin Merge branch 'maint' 2010-11-17 13:57:58 -08:00
compat Add MinGW-specific execv() override. 2010-10-03 23:34:25 +01:00
contrib Merge branch 'dk/maint-blame-el' 2010-11-17 14:59:04 -08:00
Documentation Merge branch 'maint' 2010-11-17 13:57:58 -08:00
git_remote_helpers remote-helpers: build in platform independent directory 2010-09-27 10:42:50 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2010-11-05 10:41:09 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2010-04-18 18:36:41 -07:00
gitweb Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
perl perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
ppc fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
t diff -p: squelch "diff --git" header for stat-dirty paths 2012-03-01 12:00:01 -08:00
templates Modernize git calling conventions in hook templates 2010-03-20 09:04:38 -07:00
vcs-svn vcs-svn: Fix some printf format compiler warnings 2010-09-12 10:24:55 -07:00
xdiff xdiff: cast arguments for ctype functions to unsigned char 2010-10-06 10:46:45 -07:00
.gitattributes .gitattributes: detect 8-space indent in shell scripts 2010-01-06 12:22:25 -08:00
.gitignore Merge branch 'ab/test-2' 2010-09-04 08:15:36 -07:00
.mailmap Martin Langhoff has a new e-mail address 2010-10-06 12:08:48 -07:00
abspath.c Fix 'clone' failure at DOS root directory. 2010-10-03 23:34:23 +01:00
aclocal.m4 Some platforms lack socklen_t type 2010-05-31 17:36:27 -07:00
advice.c Reword "detached HEAD" notification 2010-01-29 22:11:00 -08:00
advice.h Reword "detached HEAD" notification 2010-01-29 22:11:00 -08:00
alias.c split_cmdline: Allow caller to access error string 2010-08-11 09:36:23 -07:00
alloc.c Fix a bunch of pointer declarations (codestyle) 2009-05-01 15:17:31 -07:00
archive-tar.c archive-tar.c: squelch a type mismatch warning 2009-05-08 23:57:29 -07:00
archive-zip.c
archive.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
archive.h archive: do not read .gitattributes in working directory 2009-04-17 21:05:49 -07:00
attr.c Add global and system-wide gitattributes 2010-09-01 12:19:36 -07:00
attr.h enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
base85.c Standardize do { ... } while (0) style 2010-08-12 15:44:51 -07:00
bisect.c bisect: use find_commit_subject() instead of custom code 2010-07-23 16:12:47 -07:00
bisect.h builtin-rev-list.c: mark file-local function static 2010-01-11 23:16:16 -08:00
blob.c Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
blob.h Replace parse_blob() with an explanatory comment 2010-01-18 17:04:02 -08:00
branch.c builtin/checkout: handle -B from detached HEAD correctly 2010-08-09 12:57:17 -07:00
branch.h Make git-clone respect branch.autosetuprebase 2009-03-03 22:58:52 -08:00
builtin.h Merge branch 'rr/fmt-merge-msg' 2010-09-29 13:48:20 -07:00
bundle.c bundle: detect if bundle file cannot be created 2010-08-27 16:46:26 -07:00
bundle.h
cache-tree.c cache_tree_free: Fix small memory leak 2010-09-06 17:32:28 -07:00
cache-tree.h Optimize "diff-index --cached" using cache-tree 2009-05-25 11:35:29 -07:00
cache.h Documentation: No argument of ALLOC_GROW should have side-effects 2010-10-08 13:17:10 -07:00
check_bindir
check-builtins.sh
check-racy.c
color.c diff: add --word-diff option that generalizes --color-words 2010-04-14 10:56:53 -07:00
color.h diff: add --word-diff option that generalizes --color-words 2010-04-14 10:56:53 -07:00
combine-diff.c Merge branch 'rs/diff-no-minimal' into maint 2010-06-21 05:38:50 -07:00
command-list.txt Add git-http-backend to command-list. 2009-12-26 14:12:34 -08:00
commit.c Merge branch 'cc/find-commit-subject' 2010-08-18 12:46:55 -07:00
commit.h Merge branch 'cc/find-commit-subject' 2010-08-18 12:46:55 -07:00
config.c Merge branch 'kf/askpass-config' 2010-09-08 09:17:01 -07:00
config.mak.in Merge branch 'ab/compat-regex' 2010-09-03 09:43:45 -07:00
configure.ac Merge branch 'po/etc-gitattributes' 2010-09-29 13:47:51 -07:00
connect.c Make sure that git_getpass() never returns NULL 2010-09-30 12:22:02 -07:00
convert.c Don't expand CRLFs when normalizing text during merge 2010-07-02 15:45:18 -07:00
copy.c preserve mtime of local clone 2009-09-13 01:32:26 -07:00
COPYING Update COPYING with GPLv2 with new FSF address 2010-01-17 14:29:37 -08:00
csum-file.c Convert existing die(..., strerror(errno)) to die_errno() 2009-06-27 11:14:53 -07:00
csum-file.h Merge branch 'maint' 2008-10-10 08:39:20 -07:00
ctype.c enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
daemon.c Merge branch 'as/daemon-multi-listen' 2010-10-26 21:50:03 -07:00
date.c Export parse_date_basic() to convert a date string to timestamp 2010-07-15 15:35:12 -07:00
decorate.c Unify signedness in hashing calls 2009-05-20 00:02:24 -07:00
decorate.h
delta.h Fix big left-shifts of unsigned char 2009-06-18 09:22:46 -07:00
diff-delta.c fix >4GiB source delta assertion failure 2010-08-21 23:53:26 -07:00
diff-lib.c Submodules: Add the new "ignore" config option for diff and status 2010-08-09 09:01:52 -07:00
diff-no-index.c string_list: Add STRING_LIST_INIT macro and make use of it. 2010-07-05 11:47:57 -07:00
diff.c diff -p: squelch "diff --git" header for stat-dirty paths 2012-03-01 12:00:01 -08:00
diff.h Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
diffcore-break.c Add a macro DIFF_QUEUE_CLEAR. 2010-05-07 09:34:27 -07:00
diffcore-delta.c Fix diff -B/--dirstat miscounting of newly added contents 2009-12-05 10:54:17 -08:00
diffcore-order.c
diffcore-pickaxe.c diffcore-pickaxe.c: a void function shouldn't try to return something 2010-10-06 13:45:18 -07:00
diffcore-rename.c Add a macro DIFF_QUEUE_CLEAR. 2010-05-07 09:34:27 -07:00
diffcore.h diff: pass the entire diff-options to diffcore_pickaxe() 2010-08-31 14:30:28 -07:00
dir.c dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout 2010-11-08 11:39:23 -08:00
dir.h git add: Add the "--ignore-missing" option for the dry run 2010-07-12 15:13:54 -07:00
editor.c editor: use run_command's shell feature 2010-01-05 23:41:51 -08:00
entry.c Merge branch 'jc/symbol-static' 2010-01-20 14:37:25 -08:00
environment.c setup: make sure git dir path is in a permanent buffer 2010-10-03 16:50:54 -07:00
exec_cmd.c Merge branch 'cw/maint-exec-defpath' into maint 2010-06-16 16:33:47 -07:00
exec_cmd.h Refactor git_set_argv0_path() to git_extract_argv0_path() 2009-01-26 00:26:05 -08:00
fast-import.c Sync with 1.7.3.2 2010-10-21 17:16:10 -07:00
fetch-pack.h Smart fetch over HTTP: client side 2009-11-04 17:58:15 -08:00
fixup-builtins
fsck.c fsck: fix bogus commit header check 2010-05-28 15:08:27 -07:00
fsck.h Check the format of more printf-type functions 2009-11-15 18:24:58 -08:00
generate-cmdlist.sh generate-cmdlist.sh: avoid selecting synopsis at wrong place 2008-11-30 18:16:32 -08:00
git-add--interactive.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-am.sh Sync with 1.7.3.2 2010-10-21 17:16:10 -07:00
git-archimport.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-bisect.sh Merge branch 'rs/work-around-grep-opt-insanity' 2009-11-25 11:45:07 -08:00
git-compat-util.h do not depend on signed integer overflow 2010-10-06 11:10:07 -07:00
git-cvsexportcommit.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-cvsimport.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-cvsserver.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-difftool--helper.sh Make difftool.prompt fall back to mergetool.prompt 2010-01-22 15:57:45 -08:00
git-difftool.perl perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
git-filter-branch.sh filter-branch: retire --remap-to-ancestor 2010-08-27 16:47:01 -07:00
git-instaweb.sh instaweb: add access+error logging for WEBrick 2010-08-05 08:51:26 +00:00
git-lost-found.sh lost-found: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-merge-octopus.sh merge-octopus: Work around environment issue on Windows 2010-10-01 23:08:46 +01:00
git-merge-one-file.sh build: propagate $DIFF to scripts 2010-06-05 09:36:13 -07:00
git-merge-resolve.sh Convert to use quiet option when available 2009-04-22 19:05:37 -07:00
git-mergetool--lib.sh mergetool-lib: make the three-way diff the default for vim/gvim 2010-09-29 13:09:48 -07:00
git-mergetool.sh Merge branch 'cb/maint-mergetool-no-tty' 2010-09-03 09:43:44 -07:00
git-parse-remote.sh Do not install shell libraries executable 2010-01-31 11:53:10 -08:00
git-pull.sh Merge branch 'en/rebase-against-rebase-fix' into maint 2010-09-01 13:43:55 -07:00
git-quiltimport.sh git-quiltimport: preserve standard input to be able to read user input 2009-02-25 00:49:13 -08:00
git-rebase--interactive.sh git-rebase--interactive.sh: replace cut with ${v%% *} 2010-09-17 14:58:08 -07:00
git-rebase.sh rebase -X: do not clobber strategy 2010-11-10 09:38:36 -08:00
git-relink.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
git-remote-testgit.py Remove python 2.5'isms 2010-06-13 20:02:50 -07:00
git-repack.sh repack: add -F flag to let user choose between --no-reuse-delta/object 2010-09-27 12:39:05 -07:00
git-request-pull.sh git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh 2010-06-02 09:28:12 -07:00
git-send-email.perl Merge branch 'ab/send-email-perl' 2010-10-26 22:02:52 -07:00
git-sh-setup.sh Merge branch 'uk/fix-author-ident-sed-script' 2010-10-06 12:11:12 -07:00
git-stash.sh shell portability: no "export VAR=VAL" 2010-10-13 11:36:36 -07:00
git-submodule.sh submodule sync: Update "submodule.<name>.url" 2010-08-18 13:54:30 -07:00
git-svn.perl Merge branch 'ab/require-perl-5.8' 2010-10-26 21:57:31 -07:00
GIT-VERSION-GEN Git 1.7.3.2 2010-10-21 17:14:32 -07:00
git-web--browse.sh Add a google-chrome option for web--browse 2010-07-25 23:14:18 -07:00
git.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
git.spec.in git.spec.in: Add gitweb subpackage 2010-06-30 15:49:18 -07:00
graph.c Merge branch 'maint' 2010-08-22 20:18:37 -07:00
graph.h Enable custom schemes for column colors in the graph API 2010-07-13 16:33:02 -07:00
grep.c log --author: take union of multiple "author" requests 2010-09-13 01:11:55 -07:00
grep.h log --author: take union of multiple "author" requests 2010-09-13 01:11:55 -07:00
hash.c
hash.h Add 'const' where appropriate to index handling functions 2008-03-09 00:43:48 -08:00
help.c Remove hyphen from "git-command" in two error messages 2010-02-15 18:20:54 -08:00
help.h builtin.h: Move two functions definitions to help.h. 2010-09-01 08:00:51 -07:00
hex.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
http-backend.c Merge branch 'jp/string-list-api-cleanup' 2010-06-30 11:55:38 -07:00
http-fetch.c http: init and cleanup separately from http-walker 2010-03-02 11:10:36 -08:00
http-push.c enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
http-walker.c Merge branch 'gv/portable' 2010-06-21 06:02:44 -07:00
http.c Allow HTTP user agent string to be modified. 2010-08-11 14:07:31 -07:00
http.h Standardize do { ... } while (0) style 2010-08-12 15:44:51 -07:00
ident.c ident.c: replace fprintf with fputs to suppress compiler warning 2010-01-19 15:25:38 -08:00
imap-send.c imap-send: Fix sprintf usage 2010-08-09 11:35:46 -07:00
INSTALL perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
levenshtein.c Fix typos / spelling in comments 2009-04-22 19:02:12 -07:00
levenshtein.h Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
list-objects.c Merge branch 'lt/pack-object-memuse' 2009-04-18 14:46:17 -07:00
list-objects.h Merge branch 'lt/pack-object-memuse' 2009-04-18 14:46:17 -07:00
ll-merge.c merge-recursive --patience 2010-08-26 09:20:03 -07:00
ll-merge.h merge-recursive --patience 2010-08-26 09:20:03 -07:00
lockfile.c lockfile: show absolute filename in unable_to_lock_message 2010-01-12 15:48:24 -08:00
log-tree.c Allow customizable commit decorations colors 2010-06-24 12:57:34 -07:00
log-tree.h Allow customizable commit decorations colors 2010-06-24 12:57:34 -07:00
mailmap.c string_list: Fix argument order for string_list_lookup 2010-06-27 10:06:51 -07:00
mailmap.h mailmap.c: remove unused function 2010-01-12 01:06:09 -08:00
Makefile Merge branch 'ab/makefile-track-cc' 2010-10-06 12:10:29 -07:00
match-trees.c Make "subtree" part more orthogonal to the rest of merge-recursive. 2010-01-17 22:46:28 -08:00
merge-file.c ll-merge: replace flag argument with options struct 2010-08-26 09:18:51 -07:00
merge-recursive.c Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
merge-recursive.h Merge branch 'kb/merge-recursive-rename-threshold' 2010-10-26 21:54:04 -07:00
name-hash.c Make hash_name_lookup able to do case-independent lookups 2008-04-09 01:22:25 -07:00
notes-cache.c introduce notes-cache interface 2010-04-01 23:58:30 -07:00
notes-cache.h introduce notes-cache interface 2010-04-01 23:58:30 -07:00
notes.c notes: Don't create (empty) commit when removing non-existing notes 2010-08-31 11:07:34 -07:00
notes.h notes: Don't create (empty) commit when removing non-existing notes 2010-08-31 11:07:34 -07:00
object.c Merge branch 'maint' 2010-09-06 00:12:04 -07:00
object.h object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
pack-check.c Typos in code comments, an error message, documentation 2010-08-22 13:25:08 -07:00
pack-refs.c pack-refs: remove newly empty directories 2010-07-07 09:11:37 -07:00
pack-refs.h
pack-revindex.c janitor: useless checks before free 2009-07-22 21:57:41 -07:00
pack-revindex.h
pack-write.c move encode_in_pack_object_header() to a better place 2010-02-23 13:10:56 -08:00
pack.h Merge branch 'sp/maint-dumb-http-pack-reidx' into maint 2010-06-16 16:21:30 -07:00
pager.c Make 'git var GIT_PAGER' always print the configured pager 2010-02-14 18:23:17 -08:00
parse-options.c parseopt: wrap rev-parse --parseopt usage for eval consumption 2010-06-13 09:38:14 -07:00
parse-options.h parse-options: clarify PARSE_OPT_NOARG description 2010-08-24 10:37:39 -07:00
patch-delta.c Fix integer overflow in patch_delta() 2010-01-26 12:57:59 -08:00
patch-ids.c patch-ids: use the new generic "sha1_pos" function to lookup sha1 2009-04-04 22:57:42 -07:00
patch-ids.h
path.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
pkt-line.c pkt-line: Make packet_read_line easier to debug 2009-10-30 19:20:53 -07:00
pkt-line.h pkt-line: Add strbuf based functions 2009-10-30 19:20:53 -07:00
preload-index.c Make ce_uptodate() trustworthy again 2010-01-24 00:15:29 -08:00
pretty.c Merge branch 'mg/pretty-magic-space' 2010-06-22 09:45:22 -07:00
progress.c change throughput display units with fast links 2009-10-14 01:19:29 -07:00
progress.h
quote.c quote.c: separate quoting and relative path generation 2010-06-05 09:14:13 -07:00
quote.h quote.c: separate quoting and relative path generation 2010-06-05 09:14:13 -07:00
reachable.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
reachable.h
read-cache.c core: Stop leaking ondisk_cache_entrys 2010-08-11 09:57:43 -07:00
README README: git lives at http://git-scm.com these days 2009-10-07 12:47:24 -07:00
reflog-walk.c string_list: Fix argument order for string_list_lookup 2010-06-27 10:06:51 -07:00
reflog-walk.h Introduce new pretty formats %g[sdD] for reflog information 2009-10-19 22:28:26 -07:00
refs.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
refs.h setup_revisions(): Allow walking history in a submodule 2010-07-07 09:48:33 -07:00
RelNotes Git 1.7.3.2 2010-10-21 17:14:32 -07:00
remote-curl.c Merge branch 'sp/fix-smart-http-deadlock-on-error' into maint 2010-08-18 16:30:11 -07:00
remote.c string_list: Add STRING_LIST_INIT macro and make use of it. 2010-07-05 11:47:57 -07:00
remote.h enums: omit trailing comma for portability 2010-05-31 16:59:27 -07:00
replace_object.c environment: add global variable to disable replacement 2009-05-31 17:02:59 -07:00
rerere.c Merge branch 'jf/merge-ignore-ws' 2010-10-26 21:40:54 -07:00
rerere.h Merge branch 'jc/cache-unmerge' 2010-01-20 14:46:35 -08:00
resolve-undo.c Convert the users of for_each_string_list to for_each_string_list_item macro 2010-07-05 11:44:35 -07:00
resolve-undo.h build: make code "-Wpointer-arith" clean 2010-02-01 22:04:03 -08:00
revision.c Merge branch 'mm/shortopt-detached' 2010-08-21 23:28:31 -07:00
revision.h setup_revisions(): Allow walking history in a submodule 2010-07-07 09:48:33 -07:00
run-command.c Merge branch 'js/async-thread' 2010-06-21 06:02:45 -07:00
run-command.h Enable threaded async procedures whenever pthreads is available 2010-03-10 14:26:54 -08:00
send-pack.h git-push: make git push --porcelain print "Done" 2010-02-28 10:39:30 -08:00
server-info.c update-server-info: Shorten read_pack_info_file() 2010-07-19 11:13:52 -07:00
setup.c Merge branch 'jn/paginate-fix' 2010-08-31 16:23:31 -07:00
sha1_file.c sha1_file: Show the the type and path to corrupt objects 2010-07-14 15:35:12 -07:00
sha1_name.c update comment and documentation for :/foo syntax 2010-09-27 10:54:52 -07:00
sha1-lookup.c sha1-lookup: fix up the assertion message 2009-04-06 00:56:27 -07:00
sha1-lookup.h sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1 2009-04-04 22:57:39 -07:00
shallow.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
shell.c shell: Display errors from improperly-formatted command lines 2010-08-27 10:43:59 -07:00
shortlog.h pretty: Respect --abbrev option 2010-05-04 15:38:58 -07:00
show-index.c slim down "git show-index" 2010-01-21 20:03:45 -08:00
sideband.c Smart push over HTTP: client side 2009-11-04 17:58:15 -08:00
sideband.h recv_sideband: Bands #2 and #3 always go to stderr 2009-03-10 23:23:02 -07:00
sigchain.c refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
sigchain.h refactor signal handling for cleanup functions 2009-01-21 22:46:53 -08:00
strbuf.c disallow branch names that start with a hyphen 2010-09-15 12:33:09 -07:00
strbuf.h strbuf.h: fix comment typo 2010-09-27 10:42:11 -07:00
string-list.c string_list: Fix argument order for string_list_append 2010-06-27 10:06:52 -07:00
string-list.h string_list: Add STRING_LIST_INIT macro and make use of it. 2010-07-05 11:47:57 -07:00
submodule.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
submodule.h Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
symlinks.c symlinks.c: remove unused functions 2010-01-17 22:49:36 -08:00
tag.c Merge branch 'xx/trivial' into maint 2010-09-06 00:11:59 -07:00
tag.h tag.c: Parse tagger date (if present) 2010-04-12 21:45:17 -07:00
tar.h
test-chmtime.c Typofixes outside documentation area 2010-02-03 21:28:17 -08:00
test-ctype.c Add is_regex_special() 2009-01-17 18:30:41 -08:00
test-date.c test-date: fix sscanf type conversion 2010-07-06 08:42:15 -07:00
test-delta.c Nicolas Pitre has a new email address 2009-09-14 02:23:36 -07:00
test-dump-cache-tree.c add test-dump-cache-tree in Makefile 2009-02-03 22:11:44 -08:00
test-genrandom.c test-genrandom: ensure stdout is set to _O_BINARY on Windows 2009-09-21 00:36:12 -07:00
test-index-version.c Add test-index-version 2009-08-23 17:11:28 -07:00
test-line-buffer.c Add stream helper library 2010-08-14 19:35:37 -07:00
test-match-trees.c
test-obj-pool.c Add memory pool library 2010-08-14 19:35:37 -07:00
test-parse-options.c parse-opt: ignore negation of OPT_NONEG for ambiguity checks 2009-09-29 07:28:47 -07:00
test-path-utils.c Introduce the function strip_path_suffix() 2009-02-19 22:45:48 -08:00
test-run-command.c start_command: detect execvp failures early 2010-01-10 10:15:03 -08:00
test-sha1.c Convert existing die(..., strerror(errno)) to die_errno() 2009-06-27 11:14:53 -07:00
test-sha1.sh
test-sigchain.c t0005: use SIGTERM for sigchain test 2009-01-30 01:14:26 -08:00
test-string-pool.c Add string-specific memory pool 2010-08-14 19:35:37 -07:00
test-svn-fe.c SVN dump parser 2010-08-14 19:35:38 -07:00
test-treap.c Add treap implementation 2010-08-14 19:35:37 -07:00
thread-utils.c Thread-safe xmalloc and xrealloc needs a recursive mutex 2010-04-08 23:06:39 -07:00
thread-utils.h Thread-safe xmalloc and xrealloc needs a recursive mutex 2010-04-08 23:06:39 -07:00
trace.c Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used 2010-05-08 22:28:01 -07:00
transport-helper.c string_list: Add STRING_LIST_INIT macro and make use of it. 2010-07-05 11:47:57 -07:00
transport.c make url-related functions reusable 2010-05-24 16:48:32 -07:00
transport.h Merge branch 'tc/transport-verbosity' 2010-03-15 00:58:42 -07:00
tree-diff.c Merge branch 'en/tree-walk-optim' 2010-10-26 21:37:49 -07:00
tree-walk.c unpack_trees: group error messages by type 2010-08-11 10:36:06 -07:00
tree-walk.h Merge branch 'maint' 2010-08-26 16:42:59 -07:00
tree.c Fix off-by-one in read_tree_recursive 2009-04-20 13:44:14 -07:00
tree.h
unimplemented.sh Makefile: allow building without perl 2009-04-08 22:14:56 -07:00
unpack-trees.c Merge branch 'dg/local-mod-error-messages' 2010-09-03 22:23:49 -07:00
unpack-trees.h Move "show_all_errors = 1" to setup_unpack_trees_porcelain() 2010-09-03 09:31:51 -07:00
upload-pack.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
url.c Do not unquote + into ' ' in URLs 2010-07-25 21:57:23 -07:00
url.h make url-related functions reusable 2010-05-24 16:48:32 -07:00
usage.c Make report() from usage.c public as vreportf() and use it. 2010-03-07 00:37:35 -08:00
userdiff.c userdiff.c: add builtin fortran regex patterns 2010-09-10 09:38:29 -07:00
userdiff.h diff: cache textconv output 2010-04-02 00:05:31 -07:00
utf8.c Merge branch 'rs/optim-text-wrap' into maint 2010-03-04 22:26:33 -08:00
utf8.h Merge branch 'rs/optim-text-wrap' into maint 2010-03-04 22:26:33 -08:00
walker.c janitor: useless checks before free 2009-07-22 21:57:41 -07:00
walker.h http: init and cleanup separately from http-walker 2010-03-02 11:10:36 -08:00
wrap-for-bin.sh wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR 2010-03-02 16:27:03 -08:00
wrapper.c xmalloc: include size in the failure message 2010-08-20 09:27:38 -07:00
write_or_die.c Convert existing die(..., strerror(errno)) to die_errno() 2009-06-27 11:14:53 -07:00
ws.c whitespace: add tab-in-indent support for --whitespace=fix 2010-04-04 14:21:54 -07:00
wt-status.c wt-status.c: don't leak directory entries when processing untracked,ignored 2010-09-27 11:41:25 -07:00
wt-status.h Merge branch 'jl/status-ignore-submodules' 2010-06-30 11:55:39 -07:00
xdiff-interface.c xdiff-interface.c: always trim trailing space from xfuncname matches 2010-09-09 17:18:29 -07:00
xdiff-interface.h Merge branch 'maint-1.7.0' into maint 2010-05-04 15:20:47 -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.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.

See Documentation/gittutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands, and
Documentation/git-commandname.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with "man gittutorial" or "git help tutorial", and the
documentation of each command with "man git-commandname" or "git help
commandname".

CVS users may also want to read Documentation/gitcvs-migration.txt
("man gitcvs-migration" or "git help cvs-migration" if git is
installed).

Many Git online resources are accessible from http://git-scm.com/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.