Go to file
Jeff King 4e10738a93 Allow per-command pager config
There is great debate over whether some commands should set
up a pager automatically. This patch allows individuals to
set their own pager preferences for each command, overriding
the default. For example, to disable the pager for git
status:

  git config pager.status false

If "--pager" or "--no-pager" is specified on the command
line, it takes precedence over the config option.

There are two caveats:

  - you can turn on the pager for plumbing commands.
    Combined with "core.pager = always", this will probably
    break a lot of things. Don't do it.

  - This only works for builtin commands. The reason is
    somewhat complex:

    Calling git_config before we do setup_git_directory
    has bad side effects, because it wants to know where
    the git_dir is to find ".git/config". Unfortunately,
    we cannot call setup_git_directory indiscriminately,
    because some builtins (like "init") break if we do.

    For builtins, this is OK, since we can just wait until
    after we call setup_git_directory. But for aliases, we
    don't know until we expand (recursively) which command
    we're doing. This should not be a huge problem for
    aliases, which can simply use "--pager" or "--no-pager"
    in the alias as appropriate.

    For external commands, however, we don't know we even
    have an external command until we exec it, and by then
    it is too late to check the config.

    An alternative approach would be to have a config mode
    where we don't bother looking at .git/config, but only
    at the user and system config files. This would make the
    behavior consistent across builtins, aliases, and
    external commands, at the cost of not allowing per-repo
    pager config for at all.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-07-06 02:20:24 -07:00
arm War on whitespace 2007-06-07 00:04:01 -07:00
compat Windows: Fix ntohl() related warnings about printf formatting 2008-06-26 08:47:17 +02:00
contrib Documentation: remove {show,whatchanged}.difftree config options 2008-06-28 20:55:26 -07:00
Documentation Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
git-gui Merge git://repo.or.cz/git-gui 2008-05-26 19:10:43 -07:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-06-11 16:22:53 -07:00
gitweb Merge branch 'lw/gitweb' 2008-06-25 13:19:53 -07:00
mozilla-sha1 War on whitespace 2007-06-07 00:04:01 -07:00
perl Git.pm: fix return value of config method 2008-06-01 22:28:27 -07:00
ppc War on whitespace 2007-06-07 00:04:01 -07:00
t Fix apply --recount handling of no-EOL line 2008-07-05 00:37:44 -07:00
templates Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
xdiff xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM 2008-02-18 00:10:37 -08:00
.gitattributes Define the project whitespace policy 2008-02-11 13:23:15 -08:00
.gitignore Retire 'stupid' merge strategy 2008-07-05 10:43:46 -07:00
.mailmap Sync with 1.5.4.2 and start 1.5.5 Release Notes 2008-02-17 01:51:46 -08:00
abspath.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
alias.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
alloc.c Clean up object creation to use more common code 2007-04-16 23:36:16 -07:00
archive-tar.c Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
archive-zip.c Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
archive.c Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
archive.h Teach new attribute 'export-ignore' to git-archive 2008-06-09 14:53:46 -07:00
attr.c Ignore .gitattributes in bare repositories 2008-06-09 15:08:26 -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
branch.c Allow tracking branches to set up rebase by default. 2008-05-12 17:16:40 -07:00
branch.h branch: optionally setup branch.*.merge from upstream local branches 2008-02-19 21:17:45 -08:00
builtin-add.c git add: add long equivalents of '-u' and '-f' options 2008-06-14 12:47:31 -07:00
builtin-annotate.c War on whitespace 2007-06-07 00:04:01 -07:00
builtin-apply.c Fix apply --recount handling of no-EOL line 2008-07-05 00:37:44 -07:00
builtin-archive.c Move sha1_file_to_archive into libgit 2008-01-18 12:33:50 -08:00
builtin-blame.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-branch.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-bundle.c Always set *nongit_ok in setup_git_directory_gently() 2008-03-26 15:41:35 -07:00
builtin-cat-file.c git cat-file: Fix memory leak in batch mode 2008-06-28 19:50:56 -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 Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-checkout.c checkout: "best effort" checkout 2008-05-29 17:35:22 -07:00
builtin-clean.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-clone.c Merge branch 'js/maint-clone-insteadof' 2008-07-01 16:22:22 -07:00
builtin-commit-tree.c commit-tree: lift completely arbitrary limit of 16 parents 2008-06-27 23:36:59 -07:00
builtin-commit.c Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
builtin-config.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-count-objects.c Make builtin-count-objects.c use parse_options. 2007-10-29 21:03:31 -07:00
builtin-describe.c Fix describe --tags --long so it does not segfault 2008-07-02 21:21:59 -07:00
builtin-diff-files.c Merge branch 'jc/diff-no-no-index' 2008-05-26 22:38:19 -07:00
builtin-diff-index.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-diff-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-diff.c Merge branch 'jc/diff-no-no-index' 2008-05-26 22:38:19 -07:00
builtin-fast-export.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07: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 Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-fetch.c fetch: give a hint to the user when local refs fail to update 2008-06-29 23:47:41 -07:00
builtin-fmt-merge-msg.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-for-each-ref.c for-each-ref: implement missing tag values 2008-06-25 11:05:26 -07:00
builtin-fsck.c move show_pack_info() where it belongs 2008-06-24 23:58:57 -07:00
builtin-gc.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-grep.c add NO_EXTERNAL_GREP build option 2008-03-13 00:57:53 -07:00
builtin-http-fetch.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-init-db.c git-init: accept --bare option 2008-05-28 18:31:19 -07:00
builtin-log.c builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix' 2008-07-05 17:42:24 -07:00
builtin-ls-files.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-ls-remote.c Always set *nongit_ok in setup_git_directory_gently() 2008-03-26 15:41:35 -07:00
builtin-ls-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-mailinfo.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-mailsplit.c mailsplit: minor clean-up in read_line_with_nul() 2008-05-25 13:23:57 -07:00
builtin-merge-base.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-merge-file.c Merge branch 'maint' 2008-03-14 00:16:42 -07:00
builtin-merge-ours.c git-merge-ours: make it a builtin. 2007-11-22 14:21:59 -08:00
builtin-merge-recursive.c clone: create intermediate directories of destination repo 2008-06-25 11:44:15 -07:00
builtin-mv.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-name-rev.c Merge branch 'maint' 2008-06-06 09:21:48 -07:00
builtin-pack-objects.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-pack-refs.c Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
builtin-prune-packed.c Remove now unnecessary 'sync()' calls 2008-05-31 14:49:29 -07:00
builtin-prune.c Remove now unnecessary 'sync()' calls 2008-05-31 14:49:29 -07:00
builtin-push.c Add a remote.*.mirror configuration option 2008-04-20 18:49:22 -07:00
builtin-read-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-reflog.c Make git reflog expire honour core.sharedRepository. 2008-06-15 15:54:06 -07:00
builtin-remote.c "remote prune": be quiet when there is nothing to prune 2008-06-11 23:43:25 -07:00
builtin-rerere.c builtin-rerere: fix a small leak 2008-06-17 16:39:59 -07:00
builtin-reset.c Allow "git-reset path" when unambiguous 2008-06-25 18:16:36 -07:00
builtin-rev-list.c Move read_revisions_from_stdin from builtin-rev-list.c to revision.c 2008-07-05 17:30:58 -07:00
builtin-rev-parse.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-revert.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-rm.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-send-pack.c add special "matching refs" refspec 2008-05-04 17:41:39 -07:00
builtin-shortlog.c Merge branch 'maint-1.5.4' into maint 2008-04-12 15:41:19 -07:00
builtin-show-branch.c Merge branch 'maint' 2008-05-26 19:49:01 -07:00
builtin-show-ref.c deref_tag: handle return value NULL 2008-02-17 23:46:55 -08: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 Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-tag.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-tar-tree.c prefixcmp(): fix-up mechanical conversion. 2007-02-20 22:03:15 -08:00
builtin-unpack-objects.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-update-index.c Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
builtin-update-ref.c Make old sha1 optional with git update-ref -d 2008-06-02 22:52:39 -07:00
builtin-upload-archive.c avoid off-by-one error in run_upload_archive 2008-06-28 13:43:21 -07:00
builtin-verify-pack.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
builtin-verify-tag.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin-write-tree.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
builtin.h Print info about "git help COMMAND" on git's main usage pages 2008-06-06 09:22:18 -07:00
bundle.c start_command(), if .in/.out > 0, closes file descriptors, not the callers 2008-02-23 11:59:44 -08:00
bundle.h Move bundle specific stuff into bundle.[ch] 2007-09-19 03:22:30 -07:00
cache-tree.c Merge branch 'maint-1.5.4' into maint 2008-04-24 21:50:48 -07:00
cache-tree.h Make error messages from cherry-pick/revert more sensible 2008-02-05 00:39:19 -08:00
cache.h Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
check_bindir Move all dashed-form commands to libexecdir 2008-06-19 16:00: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 ce_match_stat, run_diff_files: use symbolic constants for readability 2007-11-10 00:24:51 -08:00
color.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
color.h Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
combine-diff.c Merge branch 'jc/maint-combine-diff-pre-context' into maint 2008-06-25 11:20:01 -07:00
command-list.txt Officially deprecate repo-config. 2008-01-17 22:52:40 -08:00
commit.c Remove unused code in parse_commit_buffer() 2008-06-08 13:46:37 -07:00
commit.h log: teach "terminator" vs "separator" mode to "--pretty=format" 2008-04-10 03:25:03 -07:00
config.c Merge branch 'lt/config-fsync' 2008-06-25 13:19:49 -07:00
config.mak.in Move all dashed-form commands to libexecdir 2008-06-19 16:00:38 -07:00
configure.ac Consistency: Use "libcurl" instead of "cURL library" and "curl" 2008-06-15 13:35:10 -07:00
connect.c Windows: Disambiguate DOS style paths from SSH URLs. 2008-06-26 08:45:08 +02:00
convert.c convert.c: Use 'git_config_string' to get 'smudge' and 'clean' 2008-07-05 17:42:30 -07:00
copy.c copy.c: copy_fd - correctly report write errors 2008-04-22 21:21:08 -07:00
COPYING
csum-file.c Make pack creation always fsync() the result 2008-05-31 14:46:57 -07:00
csum-file.h Make pack creation always fsync() the result 2008-05-31 14:46:57 -07:00
ctype.c War on whitespace 2007-06-07 00:04:01 -07:00
daemon.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
date.c Make my_mktime() public and rename it to tm_to_time_t() 2008-06-23 13:40:29 +02:00
decorate.c fast-export --export-marks: fix off by one error 2008-07-03 00:34:59 -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 "git diff": do not ignore index without --no-index 2008-05-24 00:16:39 -07:00
diff-no-index.c git diff --no-index: default to page like other diff frontends 2008-05-26 22:35:07 -07:00
diff.c Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
diff.h Merge branch 'jc/diff-no-no-index' 2008-05-26 22:38:19 -07: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 diff: make "too many files" rename warning optional 2008-05-03 13:40:43 -07:00
diffcore.h copy vs rename detection: avoid unnecessary O(n*m) loops 2007-10-26 23:18:06 -07:00
dir.c Merge branch 'lt/case-insensitive' 2008-05-10 18:14:28 -07:00
dir.h gitignore: lazily find dtype 2008-02-05 00:46:49 -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 Fix possible Solaris problem in 'checkout_entry()' 2008-03-18 22:18:57 -07:00
environment.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
exec_cmd.c Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
exec_cmd.h use only the $PATH for exec'ing git commands 2007-10-29 20:51:37 -07:00
fast-import.c Make pack creation always fsync() the result 2008-05-31 14:46:57 -07:00
fetch-pack.h Teach fetch-pack/upload-pack about --include-tag 2008-03-04 23:28:14 -08:00
fixup-builtins Start deprecating "git-command" in favor of "git command" 2007-07-02 22:39:10 -07:00
fsck.c fsck.c: fix bogus "empty tree" check 2008-03-05 10:32:01 -08:00
fsck.h add common fsck error printing function 2008-02-25 23:57:35 -08:00
generate-cmdlist.sh Consolidate command list to one. 2007-12-01 23:48:28 -08:00
git-add--interactive.perl add--interactive: allow user to choose mode update 2008-03-27 13:54:57 -07:00
git-am.sh git-am: head -1 is obsolete and doesn't work on some new systems 2008-06-17 16:40:09 -07:00
git-archimport.perl Make git-archimport log entries more consistent 2007-08-30 19:22:02 -07:00
git-bisect.sh bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting 2008-05-28 11:47:58 -07:00
git-compat-util.h Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
git-cvsexportcommit.perl Merge branch 'js/cvsexportcommit' 2008-05-25 13:37:20 -07:00
git-cvsimport.perl git-cvsimport: do not fail when CVSROOT is / 2008-06-10 22:24:01 -07:00
git-cvsserver.perl git-cvsserver: add ability to guess -kb from contents 2008-05-16 12:05:35 -07:00
git-filter-branch.sh Merge 1.5.5.3 in 2008-05-27 22:34:19 -07:00
git-instaweb.sh git-instaweb: improve auto-discovery of httpd and call conventions. 2008-06-13 22:08:30 -07: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 git-merge-one-file: fix longstanding stupid thinko 2008-03-18 22:17:17 -07:00
git-merge-resolve.sh Fixing comment in merge strategies 2007-08-30 17:18:22 -07:00
git-merge.sh git-merge.sh: fix typo in usage message: sucesses --> succeeds 2008-06-19 14:13:02 -07:00
git-mergetool.sh Remove the use of '--' in merge program invocation 2008-06-19 14:13:55 -07:00
git-parse-remote.sh Rewrite "git-frotz" to "git frotz" 2007-07-02 22:52:14 -07:00
git-pull.sh pull --rebase: exit early when the working directory is dirty 2008-05-22 23:05:11 -07:00
git-quiltimport.sh quiltimport: fix misquoting of parsed -p<num> parameter 2008-03-12 21:07:19 -07:00
git-rebase--interactive.sh git-rebase -i: mention the short command aliases in the todo list 2008-06-08 13:46:37 -07:00
git-rebase.sh git-rebase.sh: Add check if rebase is in progress 2008-06-22 18:09:15 -07:00
git-relink.perl git-relink: avoid hard linking in objects/info directory 2008-01-30 00:01:27 -08:00
git-repack.sh repack.usedeltabaseoffset config option now defaults to "true" 2008-06-25 10:56:40 -07:00
git-request-pull.sh Merge branch 'ph/parseopt-sh' 2007-11-17 21:39:37 -08:00
git-send-email.perl git-send-email: Do not attempt to STARTTLS more than once 2008-07-02 22:41:18 -07:00
git-sh-setup.sh Windows: Work around incompatible sort and find. 2008-06-26 08:45:09 +02:00
git-stash.sh Ignore dirty submodule states during rebase and stash 2008-05-15 16:12:43 -07:00
git-submodule.sh git-submodule - Fix errors regarding resolve_relative_url 2008-06-14 11:34:00 -07:00
git-svn.perl git-svn: don't sanitize remote names in config 2008-06-28 20:55:45 -07:00
GIT-VERSION-GEN GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy 2008-06-28 10:53:11 -07:00
git-web--browse.sh web--browse: use custom commands defined at config time 2008-03-14 00:31:06 -07:00
git.c Allow per-command pager config 2008-07-06 02:20:24 -07:00
git.spec.in Move all dashed-form commands to libexecdir 2008-06-19 16:00:38 -07:00
graph.c git log --graph: print '*' for all commits, including merges 2008-06-06 11:56:43 -07:00
graph.h log --graph --left-right: show left/right information in place of '*' 2008-05-25 12:06:52 -07: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 Merge branch 'js/config-cb' 2008-05-25 14:25:02 -07:00
hash.c Add 'const' where appropriate to index handling functions 2008-03-09 00:43:48 -08:00
hash.h Add 'const' where appropriate to index handling functions 2008-03-09 00:43:48 -08:00
help.c Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
http-push.c move show_pack_info() where it belongs 2008-06-24 23:58:57 -07:00
http-walker.c move show_pack_info() where it belongs 2008-06-24 23:58:57 -07:00
http.c http.c: Use 'git_config_string' to clean up SSL config. 2008-07-05 17:42:46 -07:00
http.h Work around gcc warnings from curl headers 2008-07-04 00:37:40 -07:00
ident.c commit: Show committer if automatic 2008-05-06 16:50:17 -07:00
imap-send.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
index-pack.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
INSTALL The "curl" executable is no longer required 2008-06-15 13:44:44 -07:00
interpolate.c Avoid unnecessary "if-before-free" tests. 2008-02-22 14:14:40 -08:00
interpolate.h Lift 16kB limit of log message output 2007-06-13 00:41:21 -07:00
list-objects.c list-objects.c::process_tree/blob: check for NULL 2008-02-18 19:25:26 -08:00
list-objects.h pack-objects: further work on internal rev-list logic. 2006-09-07 02:46:02 -07:00
ll-merge.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
ll-merge.h merge-recursive: split low-level merge functions out. 2008-02-18 00:46:13 -08:00
lockfile.c rollback lock files on more signals than just SIGINT 2008-05-31 14:33:59 -07:00
log-tree.c log --graph --left-right: show left/right information in place of '*' 2008-05-25 12:06:52 -07:00
log-tree.h Remove dead code: show_log() sep argument and diff_options.msg_sep 2008-05-03 11:48:03 -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 Retire 'stupid' merge strategy 2008-07-05 10:43:46 -07: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 git-merge-index documentation: clarify synopsis 2008-02-22 07:02:40 -08:00
merge-recursive.h Build-in merge-recursive 2008-02-09 23:16:51 -08:00
merge-tree.c Make 'traverse_trees()' traverse conflicting DF entries in parallel 2008-03-09 00:43:47 -08:00
mktag.c mktag.c: tweak validation of tagger field and adjust test script 2008-03-31 22:43:34 -07:00
mktree.c Rework unquote_c_style to work on a strbuf. 2007-09-20 23:32:18 -07:00
name-hash.c Make hash_name_lookup able to do case-independent lookups 2008-04-09 01:22:25 -07:00
object.c parse_object_buffer: don't ignore errors from the object specific parsing functions 2008-02-03 16:04:57 -08:00
object.h Remove unused object-ref code 2008-02-25 23:57:35 -08:00
pack-check.c verify-pack: check packed object CRC when using index version 2 2008-06-24 23:58:57 -07:00
pack-redundant.c War on whitespace 2007-06-07 00:04:01 -07:00
pack-refs.c Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
pack-refs.h Move pack_refs() and friends into libgit 2008-06-19 15:53:13 -07:00
pack-revindex.c call init_pack_revindex() lazily 2008-06-23 21:25:20 -07:00
pack-revindex.h call init_pack_revindex() lazily 2008-06-23 21:25:20 -07:00
pack-write.c pack.indexversion config option now defaults to 2 2008-06-25 21:30:55 -07:00
pack.h verify-pack: check packed object CRC when using index version 2 2008-06-24 23:58:57 -07:00
pager.c Windows: Make the pager work. 2008-06-26 08:47:15 +02:00
parse-options.c Merge branch 'maint' 2008-06-22 18:39:37 -07:00
parse-options.h parse-options.c: introduce OPT_DATE 2008-03-27 13:55:15 -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 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: add functions to work with unsorted lists 2008-03-01 01:51:44 -08:00
path-list.h path-list: add functions to work with unsorted lists 2008-03-01 01:51:44 -08:00
path.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
pkt-line.c Cleanup xread() loops to use read_in_full() 2008-05-03 22:15:25 -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 log --pretty: do not accept bogus "--prettyshort" 2008-05-25 20:29:07 -07:00
progress.c progress.c: avoid use of dynamic-sized array 2008-06-08 13:56:32 -07:00
progress.h nicer display of thin pack completion 2007-11-08 15:43:41 -08:00
quote.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
quote.h Make private quote_path() in wt-status.c available as quote_path_relative() 2008-03-07 21:22:25 -08:00
reachable.c Merge branch 'mk/maint-parse-careful' 2008-02-18 20:56:01 -08:00
reachable.h Move traversal of reachable objects into a separate library. 2007-01-06 22:57:34 -08:00
read-cache.c Merge branch 'lt/racy-empty' 2008-06-22 14:34:20 -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 Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -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 Merge branch 'db/clone-in-c' 2008-05-25 13:41:37 -07:00
refs.h Allow for having for_each_ref() list extra refs 2008-05-04 17:41:44 -07:00
RelNotes Start draft release notes for 1.5.6.2 2008-07-01 17:09:21 -07:00
remote.c clean up error conventions of remote.c:match_explicit 2008-06-18 12:39:13 -07:00
remote.h Merge branch 'db/clone-in-c' 2008-05-25 13:41:37 -07:00
revision.c Move read_revisions_from_stdin from builtin-rev-list.c to revision.c 2008-07-05 17:30:58 -07:00
revision.h Move read_revisions_from_stdin from builtin-rev-list.c to revision.c 2008-07-05 17:30:58 -07:00
run-command.c Windows: Implement a custom spawnve(). 2008-06-26 08:45:10 +02:00
run-command.h Windows: Implement asynchronous functions as threads. 2008-06-26 08:45:08 +02: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 Merge branch 'j6t/mingw' 2008-07-02 21:57:52 -07:00
sha1_file.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07:00
sha1_name.c Merge branch 'maint-1.5.4' into maint 2008-04-29 22:55:07 -07:00
sha1-lookup.c sha1-lookup: make selection of 'middle' less aggressive 2008-04-09 01:30:18 -07:00
sha1-lookup.h sha1-lookup: more memory efficient search in sorted list of SHA-1 2008-04-09 01:23:52 -07:00
shallow.c Merge branch 'mk/maint-parse-careful' 2008-02-18 20:56:01 -08:00
shell.c shrink git-shell by avoiding redundant dependencies 2008-06-27 23:22:00 -07:00
shortlog.h Add API access to shortlog 2008-02-25 19:57:06 -08:00
show-index.c Fix some warnings (on cygwin) to allow -Werror 2008-07-05 17:26:29 -07: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 Avoid a useless prefix lookup in strbuf_expand() 2008-02-09 23:57:08 -08:00
strbuf.h Avoid a useless prefix lookup in strbuf_expand() 2008-02-09 23:57:08 -08:00
symlinks.c Optimize symlink/directory detection 2008-05-10 18:16:31 -07:00
tag.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
tag.h
tar.h
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 Extend parse-options test suite 2008-06-22 18:15:18 -07:00
test-sha1.c test-sha1: test hashing large buffer 2006-06-24 02:59:20 -07:00
test-sha1.sh more tr portability test script fixes 2008-03-13 00:57:52 -07:00
thread-utils.c pack-objects: Add runtime detection of online CPU's 2008-02-23 12:00:32 -08:00
thread-utils.h pack-objects: Add runtime detection of online CPU's 2008-02-23 12:00:32 -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 Merge branch 'qq/maint' 2008-07-05 18:33:16 -07:00
transport.h Mark the list of refs to fetch as const 2008-05-04 17:41:44 -07: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 Fix tree-walking compare_entry() in the presense of --prefix 2008-03-09 00:43:47 -08:00
tree-walk.h Make 'traverse_trees()' traverse conflicting DF entries in parallel 2008-03-09 00:43:47 -08:00
tree.c Merge branch 'mk/maint-parse-careful' 2008-03-02 15:11:07 -08:00
tree.h Remove last vestiges of generic tree_entry_list 2006-05-29 19:08:37 -07:00
unpack-file.c Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
unpack-trees.c unpack_trees(): allow callers to differentiate worktree errors from merge errors 2008-05-29 17:35:21 -07:00
unpack-trees.h unpack-trees: allow Porcelain to give different error messages 2008-05-19 19:30:13 -07:00
update-server-info.c
upload-pack.c Windows: Implement asynchronous functions as threads. 2008-06-26 08:45:08 +02: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 Provide git_config with a callback-data parameter 2008-05-14 12:34:44 -07:00
walker.c Fix "git clone http://$URL" to check out the worktree when asked 2008-06-04 13:33:25 -07:00
walker.h Make walker.fetch_ref() take a struct ref. 2008-04-26 17:36:17 -07:00
wrapper.c Shrink the git binary a bit by avoiding unnecessary inline functions 2008-06-22 18:46:00 -07:00
write_or_die.c Windows: Work around an oddity when a pipe with no reader is written to. 2008-06-26 08:47:15 +02:00
ws.c Teach "diff --check" about new blank lines at end 2008-06-26 22:07:26 -07:00
wt-status.c Add configuration option for default untracked files mode 2008-06-09 15:48:20 -07:00
wt-status.h Add argument 'no' commit/status option -u|--untracked-files 2008-06-09 15:48:19 -07:00
xdiff-interface.c Merge branch 'maint' 2008-03-14 00:16:42 -07: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.