Go to file
Junio C Hamano fb13227e08 git-diff: squelch "empty" diffs
After starting to edit a working tree file but later when your edit ends
up identical to the original (this can also happen when you ran a
wholesale regexp replace with something like "perl -i" that does not
actually modify many of the paths), "git diff" between the index and the
working tree outputs many "empty" diffs that show "diff --git" headers
and nothing else, because these paths are stat-dirty.  While it was a
way to warn the user that the earlier action of the user made the index
ineffective as an optimization mechanism, it was felt too loud for the
purpose of warning even to experienced users, and also resulted in
confusing people new to git.

This replaces the "empty" diffs with a single warning message at the
end.  Having many such paths hurts performance, and you can run
"git-update-index --refresh" to update the lstat(2) information recorded
in the index in such a case.  "git-status" does so as a side effect, and
that is more familiar to the end-user, so we recommend it to them.

The change affects only "git diff" that outputs patch text, because that
is where the annoyance of too many "empty" diff is most strongly felt,
and because the warning message can be safely ignored by downstream
tools without getting mistaken as part of the patch.  For the low-level
"git diff-files" and "git diff-index", the traditional behaviour is
retained.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-14 01:55:00 -07:00
arm War on whitespace 2007-06-07 00:04:01 -07:00
compat Merge branch 'maint' to sync with GIT 1.5.2.2 2007-06-16 01:22:10 -07:00
contrib git-p4: Fix the sorting of changelists when cloning a Perforce repository. 2007-08-13 15:23:14 -07:00
Documentation git-add: Add support for --refresh option. 2007-08-13 12:58:38 -07:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2007-07-29 22:53:33 -07:00
gitweb gitweb: Fix handling of $file_name in feed generation 2007-08-04 01:55:08 -07:00
mozilla-sha1 War on whitespace 2007-06-07 00:04:01 -07:00
perl War on whitespace 2007-06-07 00:04:01 -07:00
ppc War on whitespace 2007-06-07 00:04:01 -07:00
t Add a test for git-commit being confused by relative GIT_DIR 2007-08-13 21:19:48 -07:00
templates Use $(RM) in Makefiles instead of 'rm -f' 2007-07-14 23:31:01 -07:00
xdiff Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
.gitignore add "test-absolute-path" to .gitignore 2007-08-04 01:57:29 -07:00
.mailmap Update .mailmap 2007-07-14 13:44:58 -07:00
alloc.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
archive-tar.c rename dirlink to gitlink. 2007-05-21 23:34:54 -07:00
archive-zip.c rename dirlink to gitlink. 2007-05-21 23:34:54 -07:00
archive.h Remove unsupported C99 style struct initializers in git-archive. 2006-11-04 23:48:36 -08:00
attr.c Fix crash in t0020 (crlf conversion) 2007-04-22 10:44:56 -07: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 git-add: Add support for --refresh option. 2007-08-13 12:58:38 -07:00
builtin-annotate.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-apply.c Merge branch 'maint' 2007-08-06 01:37:10 -07:00
builtin-archive.c connect: display connection progress 2007-05-16 12:48:18 -07:00
builtin-blame.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
builtin-branch.c Re-code builtin-branch.c in UTF-8 2007-07-11 22:52:45 -07:00
builtin-bundle.c builtin-bundle create - use lock_file 2007-08-13 13:04:18 -07:00
builtin-cat-file.c Cleanup variables in cat-file 2007-04-22 00:43:24 -07:00
builtin-check-attr.c Fix funny types used in attribute value representation 2007-04-18 16:17:13 -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 Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-commit-tree.c init_buffer(): Kill buf pointer 2007-04-25 13:45:12 -07:00
builtin-config.c Add an option to specify a file to config builtin 2007-07-31 22:56:15 -07:00
builtin-count-objects.c Simplify index access condition in count-objects, pack-redundant 2007-05-29 23:30:11 -07:00
builtin-describe.c Teach git-describe how to run name-rev 2007-05-21 23:56:28 -07:00
builtin-diff-files.c Removing -n option from git-diff-files documentation 2007-04-26 22:43:10 -07:00
builtin-diff-index.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-diff-tree.c Allow git-diff exit with codes similar to diff(1) 2007-03-14 16:21:19 -07:00
builtin-diff.c git-diff: squelch "empty" diffs 2007-08-14 01:55:00 -07:00
builtin-fetch--tool.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-fmt-merge-msg.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-for-each-ref.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-fsck.c fsck --lost-found: write blob's contents, not their SHA-1 2007-07-22 15:59:27 -07:00
builtin-gc.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-grep.c sscanf/strtoul: parse integers robustly 2007-04-14 19:47:20 -07:00
builtin-init-db.c Clean up work-tree handling 2007-08-01 00:38:31 -07:00
builtin-log.c Handle format.subjectprefix for every command which accepts --pretty 2007-07-04 12:39:58 -07:00
builtin-ls-files.c Clean up work-tree handling 2007-08-01 00:38:31 -07:00
builtin-ls-tree.c Merge branch 'jn/lstree' 2007-05-23 00:17:47 -07:00
builtin-mailinfo.c rebase: try not to munge commit log message 2007-07-29 23:29:04 -07:00
builtin-mailsplit.c More missing static 2007-06-08 02:37:19 -07: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-mv.c Merge branch 'jc/index-output' 2007-04-07 02:26:24 -07:00
builtin-name-rev.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-pack-objects.c Pack-objects: properly initialize the depth value 2007-07-12 20:11:41 -07:00
builtin-pack-refs.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-prune-packed.c prune-packed: add -q to usage 2007-01-18 14:30:05 -08:00
builtin-prune.c minor git-prune optimization 2007-03-20 22:17:47 -07:00
builtin-push.c Move refspec pattern matching to match_refs(). 2007-05-26 01:20:10 -07:00
builtin-read-tree.c Start moving unpack-trees to "struct tree_desc" 2007-08-10 02:30:44 -07: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 every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-rev-list.c Merge branch 'maint' 2007-07-31 21:12:32 -07:00
builtin-rev-parse.c Clean up work-tree handling 2007-08-01 00:38:31 -07:00
builtin-revert.c More static 2007-06-13 02:02:10 -07:00
builtin-rm.c More permissive "git-rm --cached" behavior without -f. 2007-07-13 23:52:46 -07:00
builtin-runstatus.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-shortlog.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-show-branch.c Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
builtin-show-ref.c Make every builtin-*.c file #include "builtin.h" 2007-07-14 22:44:09 -07:00
builtin-stripspace.c Teach "git stripspace" the --strip-comments option 2007-07-26 22:51:44 -07:00
builtin-symbolic-ref.c symbolic-ref, update-ref: do not refuse reflog message with LF 2007-07-29 23:28:55 -07:00
builtin-tag.c builtin-tag.c: Fix two memory leaks and minor notation changes. 2007-07-21 16:59:33 -07:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c Ensure return value from xread() is always stored into an ssize_t 2007-05-15 21:16:03 -07:00
builtin-update-index.c Fix "git commit directory/" performance anomaly 2007-08-10 13:57:43 -07:00
builtin-update-ref.c symbolic-ref, update-ref: do not refuse reflog message with LF 2007-07-29 23:28:55 -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 Make verify-tag a builtin. 2007-07-26 22:51:27 -07:00
builtin-write-tree.c git-write-tree should not crash if prefix does not exist 2007-07-25 21:35:17 -07:00
builtin.h Make verify-tag a builtin. 2007-07-26 22:51:27 -07:00
cache-tree.c Two trivial -Wcast-qual fixes 2007-06-22 23:19:43 -07:00
cache-tree.h write-tree: --prefix=<path> 2006-05-01 22:29:16 -07:00
cache.h git-add: Add support for --refresh option. 2007-08-13 12:58:38 -07: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 Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
commit.c Avoid to duplicate commit message when is not encoded 2007-07-22 01:40:21 -07:00
commit.h Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
config.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
config.mak.in War on whitespace 2007-06-07 00:04:01 -07:00
configure.ac make the name of the library directory a config option 2007-07-31 22:36:55 -07:00
connect.c connect: accept file:// URL scheme 2007-08-01 21:51:20 -07:00
convert-objects.c War on whitespace 2007-06-07 00:04:01 -07:00
convert.c Fix mishandling of $Id$ expanded in the repository copy in convert.c 2007-05-26 01:12:43 -07: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 More static 2007-06-13 02:02:10 -07:00
csum-file.h More static 2007-06-13 02:02:10 -07:00
ctype.c War on whitespace 2007-06-07 00:04:01 -07:00
daemon.c --base-path-relaxed option 2007-08-01 00:37:23 -07:00
date.c Teach approxidate() to understand "never" 2007-07-24 17:28:10 -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 Support fetching the memory usage of a delta index 2007-07-12 14:32:35 -07:00
diff-lib.c diff-lib.c: don't strdup twice 2007-07-07 11:53:49 -07:00
diff.c git-diff: squelch "empty" diffs 2007-08-14 01:55:00 -07:00
diff.h git-diff: squelch "empty" diffs 2007-08-14 01:55:00 -07:00
diffcore-break.c diffcore_count_changes: pass diffcore_filespec 2007-06-30 20:51:31 -07:00
diffcore-delta.c Introduce diff_filespec_is_binary() 2007-07-06 00:21:41 -07:00
diffcore-order.c Cast 64 bit off_t to 32 bit size_t 2007-03-07 11:15:26 -08:00
diffcore-pickaxe.c War on whitespace 2007-06-07 00:04:01 -07:00
diffcore-rename.c Merge branch 'jc/diffcore' 2007-07-02 01:45:12 -07:00
diffcore.h Fix configuration syntax to specify customized hunk header patterns. 2007-07-07 01:49:58 -07:00
dir.c get_relative_cwd(): clarify why it handles dir == NULL 2007-08-01 11:34:13 -07:00
dir.h Add functions get_relative_cwd() and is_inside_dir() 2007-08-01 00:38:30 -07: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 Merge branch 'maint' 2007-07-18 17:00:36 -07:00
environment.c Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
exec_cmd.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
exec_cmd.h Make macros to prevent double-inclusion in headers consistent. 2007-04-29 02:05:11 -07:00
fast-import.c Teach fast-import to recursively copy files/directories 2007-07-15 01:41:23 -04:00
fetch-pack.c War on whitespace 2007-06-07 00:04:01 -07:00
fetch.c Merge branch 'maint' 2007-06-26 18:45:29 -07:00
fetch.h Teach git-local-fetch the --stdin switch 2006-07-27 19:33:48 -07:00
fixup-builtins Start deprecating "git-command" in favor of "git command" 2007-07-02 22:39:10 -07:00
generate-cmdlist.sh More static 2007-06-13 02:02:10 -07:00
git-add--interactive.perl Hack git-add--interactive to make it work with ActiveState Perl 2007-08-01 17:58:12 -07:00
git-am.sh git-am: initialize variable $resume on startup 2007-08-06 16:16:27 -07:00
git-archimport.perl War on whitespace 2007-06-07 00:04:01 -07:00
git-bisect.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-checkout.sh Alter git-checkout reflog message to include "from" branch 2007-07-04 12:56:02 -07:00
git-clean.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-clone.sh git-clone: aggressively optimize local clone behaviour. 2007-08-01 23:42:36 -07:00
git-commit.sh git-commit.sh: Permit the --amend message to be given with -m/-c/-C/-F. 2007-08-01 18:15:43 -07:00
git-compat-util.h git-log: detect dup and fdopen failure 2007-06-27 21:02:44 -07:00
git-cvsexportcommit.perl cvsexportcommit: avoid racy CVS problem. 2007-07-24 17:28:10 -07:00
git-cvsimport.perl git-cvsimport: force checkout of working tree after initial import 2007-06-28 21:16:53 -07:00
git-cvsserver.perl cvsserver: Fix for work trees 2007-08-08 22:16:46 -07:00
git-fetch.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-filter-branch.sh git-sh-setup.sh: make GIT_DIR absolute 2007-08-13 21:19:48 -07:00
git-instaweb.sh git-sh-setup.sh: make GIT_DIR absolute 2007-08-13 21:19:48 -07:00
git-lost-found.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-ls-remote.sh Remove useless uses of cat, and replace with filename arguments 2007-07-14 01:07:44 -07:00
git-merge-octopus.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge-one-file.sh Fix merge-one-file for our-side-added/our-side-removed cases 2007-07-08 18:24:19 -07:00
git-merge-ours.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge-resolve.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge-stupid.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-merge.sh Enable "git rerere" by the config variable rerere.enabled 2007-07-06 22:39:15 -07:00
git-mergetool.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-parse-remote.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-pull.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-quiltimport.sh Remove useless uses of cat, and replace with filename arguments 2007-07-14 01:07:44 -07:00
git-rebase--interactive.sh rebase -i: fix for optional [branch] parameter 2007-08-01 18:17:56 -07:00
git-rebase.sh Enable "git rerere" by the config variable rerere.enabled 2007-07-06 22:39:15 -07:00
git-relink.perl Big tool rename. 2005-09-07 17:45:20 -07:00
git-remote.perl Add -v|--verbose to git remote to show remote url 2007-07-05 22:12:59 -07:00
git-repack.sh Add --window-memory option to git-repack 2007-07-12 14:32:35 -07:00
git-request-pull.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-reset.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-send-email.perl send-email: get all the quoting of realnames right 2007-08-10 01:02:32 -07:00
git-sh-setup.sh git-sh-setup.sh: make GIT_DIR absolute 2007-08-13 21:19:48 -07:00
git-stash.sh git-stash apply --index: optimize postprocessing 2007-07-28 00:06:00 -07:00
git-submodule.sh git-submodule: remove redundant call to git-describe 2007-07-25 16:13:55 -07:00
git-svn.perl git-svn: Translate invalid characters in refname 2007-07-30 17:49:50 -07:00
git-svnimport.perl Allow git-svnimport to take "" as the trunk directory. 2007-08-13 21:19:20 -07:00
GIT-VERSION-GEN GIT v1.5.3-rc1 2007-07-12 14:54:33 -07:00
git.c diff: don't run pager if user asked for a diff style exit code 2007-08-13 13:06:23 -07:00
git.spec.in Remove p4 rpm from git.spec.in. 2007-07-15 15:23:36 -07:00
gitk gitk: Fix bug causing Tcl error when updating graph 2007-08-13 15:02:02 +10: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 index_fd(): pass optional path parameter as hint for blob conversion 2007-02-28 12:00:00 -08:00
help.c War on whitespace 2007-06-07 00:04:01 -07:00
http-fetch.c War on whitespace 2007-06-07 00:04:01 -07:00
http-push.c War on whitespace 2007-06-07 00:04:01 -07:00
http.c War on whitespace 2007-06-07 00:04:01 -07:00
http.h http-fetch: Disable use of curl multi support for libcurl < 7.16. 2007-05-03 22:12:40 -07:00
ident.c Improved hint on how to set identity 2007-08-13 23:34:38 -07:00
imap-send.c War on whitespace 2007-06-07 00:04:01 -07:00
index-pack.c detect close failure on just-written file handles 2007-06-26 21:48:53 -07:00
INSTALL INSTALL: explain info installation and dependencies. 2007-08-10 23:16:38 -07:00
interpolate.c Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
interpolate.h Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
list-objects.c rename dirlink to gitlink. 2007-05-21 23:34:54 -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 War on whitespace 2007-06-07 00:04:01 -07:00
lockfile.c fully resolve symlinks when creating lockfiles 2007-07-27 00:02:05 -07:00
log-tree.c Handle missing prefix for "Subject:" as if no prefix given 2007-07-04 12:39:43 -07:00
log-tree.h Add msg_sep to diff_options 2006-06-26 14:58:41 -07:00
mailmap.c War on whitespace 2007-06-07 00:04:01 -07:00
mailmap.h Split out mailmap handling out of shortlog 2007-04-29 02:05:06 -07:00
Makefile Merge branch 'cr/tag' 2007-08-10 23:17:46 -07:00
match-trees.c War on whitespace 2007-06-07 00:04:01 -07:00
merge-file.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
merge-index.c War on whitespace 2007-06-07 00:04:01 -07:00
merge-recursive.c Start moving unpack-trees to "struct tree_desc" 2007-08-10 02:30:44 -07:00
merge-tree.c Future-proof source for changes in xdemitconf_t 2007-07-06 00:22:12 -07:00
mktag.c Rename read_pipe() with read_fd() and make its buffer nul-terminated. 2007-07-18 17:30:03 -07:00
mktree.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
object-refs.c War on whitespace 2007-06-07 00:04:01 -07:00
object.c Don't assume tree entries that are not dirs are blobs 2007-06-06 15:43:18 -07: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 Unify write_index_file functions 2007-06-02 13:14:18 -07:00
pack.h Unify write_index_file functions 2007-06-02 13:14:18 -07:00
pager.c pager: find out pager setting from configuration 2007-08-06 21:10:59 -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 War on whitespace 2007-06-07 00:04:01 -07:00
patch-ids.c Refactor patch-id filtering out of git-cherry and git-format-patch. 2007-04-11 20:02:03 -07: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 War on whitespace 2007-06-07 00:04:01 -07:00
path-list.h Make macros to prevent double-inclusion in headers consistent. 2007-04-29 02:05:11 -07:00
path.c Add is_absolute_path() and make_absolute_path() 2007-08-01 00:38:30 -07:00
peek-remote.c connect: display connection progress 2007-05-16 12:48:18 -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
progress.c Fix the progress code to output LF only when it is really needed 2007-05-23 11:30:49 -07:00
progress.h Fix the progress code to output LF only when it is really needed 2007-05-23 11:30:49 -07:00
quote.c Add core.quotepath configuration variable. 2007-06-24 15:11:42 -07:00
quote.h Even more missing static 2007-06-08 02:54:57 -07:00
reachable.c Merge branch 'maint' 2007-07-02 17:12:48 -07:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c git-add: Add support for --refresh option. 2007-08-13 12:58:38 -07: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 git-update-ref: add --no-deref option for overwriting/detaching ref 2007-05-10 15:24:44 -07: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 Fix filehandle leak in "git branch -D" 2007-08-10 22:50:06 -07:00
refs.h git-update-ref: add --no-deref option for overwriting/detaching ref 2007-05-10 15:24:44 -07:00
RelNotes GIT 1.5.2.4 2007-07-12 12:01:47 -07:00
remote.c Add for_each_remote() function, and extend remote_find_tracking() 2007-07-11 15:28:15 -07:00
remote.h Add for_each_remote() function, and extend remote_find_tracking() 2007-07-11 15:28:15 -07:00
revision.c git log -g: Complain, but do not fail, when no reflogs are there 2007-07-24 17:28:10 -07:00
revision.h More missing static 2007-06-08 02:37:19 -07:00
rsh.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
rsh.h War on whitespace 2007-06-07 00:04:01 -07:00
run-command.c Allow environment variables to be unset in the processes started by run_command 2007-05-23 22:38:44 -07:00
run-command.h Allow environment variables to be unset in the processes started by run_command 2007-05-23 22:38:44 -07:00
send-pack.c Add for_each_remote() function, and extend remote_find_tracking() 2007-07-11 15:28:15 -07:00
server-info.c Fix core.sharedRepository = 2 2007-07-11 13:52:16 -07:00
setup.c Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset 2007-08-10 01:12:07 -07:00
sha1_file.c Rename read_pipe() with read_fd() and make its buffer nul-terminated. 2007-07-18 17:30:03 -07:00
sha1_name.c Make show_rfc2822_date() just another date output format. 2007-07-13 23:14:52 -07:00
shallow.c War on whitespace 2007-06-07 00:04:01 -07:00
shell.c Mechanical conversion to use prefixcmp() 2007-02-20 22:03:15 -08:00
show-index.c show-index.c: learn about index v2 2007-04-10 12:48:14 -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 Don't force everybody to call setup_ident(). 2007-01-28 01:58:50 -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 War on whitespace 2007-06-07 00:04:01 -07:00
strbuf.c War on whitespace 2007-06-07 00:04:01 -07:00
strbuf.h [PATCH] Kill a bunch of pointer sign warnings for gcc4 2005-05-18 08:44:23 -07:00
symlinks.c Add has_symlink_leading_path() function. 2007-05-11 22:11:07 -07:00
tag.c Merge branch 'maint-1.5.1' into maint 2007-05-28 23:54:26 -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-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-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 git-branch, git-checkout: autosetup for remote branch tracking 2007-03-10 23:41:58 -08:00
tree-diff.c Fix up "git log --follow" a bit.. 2007-06-22 23:37:21 -07:00
tree-walk.c War on whitespace 2007-06-07 00:04:01 -07:00
tree-walk.h Two trivial -Wcast-qual fixes 2007-06-22 23:19:43 -07:00
tree.c Optimize "diff --cached" performance. 2007-08-10 11:44:23 -07:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c convert object type handling from a string to a number 2007-02-27 01:34:21 -08:00
unpack-trees.c Optimize the three-way merge of git-read-tree 2007-08-10 23:02:14 -07: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 Even more missing static 2007-06-08 02:54:57 -07:00
usage.c Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS 2007-03-31 01:11:11 -07:00
utf8.c wcwidth redeclaration 2007-05-07 22:02:40 -07:00
utf8.h Actually make print_wrapped_text() useful 2007-02-27 17:29:02 -08:00
var.c War on whitespace 2007-06-07 00:04:01 -07:00
write_or_die.c Don't fflush(stdout) when it's not helpful 2007-06-30 20:16:12 -07:00
wt-status.c Missing statics. 2007-06-08 02:37:19 -07: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 Per-path attribute based hunk header selection. 2007-07-06 01:20:47 -07:00
xdiff-interface.h Per-path attribute based hunk header selection. 2007-07-06 01: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/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.