Go to file
Jeff King d8e96fd86d git: use run_command() to execute dashed externals
We used to simply try calling execvp(); if it succeeded, then we were done
and the new program was running. If it didn't, then we knew that it wasn't
a valid command.

Unfortunately, this interacted badly with the new pager handling. Now that
git remains the parent process and the pager is spawned, git has to hang
around until the pager is finished. We install an atexit handler to do
this, but that handler never gets called if we successfully run execvp.

You could see this behavior by running any dashed external using a pager
(e.g., "git -p stash list"). The command finishes running, but the pager
is still going. In the case of less, it then gets an error reading from
the terminal and exits, potentially leaving the terminal in a broken state
(and not showing the output).

This patch just uses run_command() to try running the dashed external. The
parent git process then waits for the external process to complete and
then handles the pager cleanup as it would for an internal command.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-28 14:09:37 -08:00
Documentation GIT 1.6.1.1 2009-01-25 12:41:09 -08:00
arm fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
compat Merge branch 'js/mingw-rename-fix' 2008-11-27 19:25:06 -08:00
contrib Merge branch 'maint-1.6.0' into maint 2009-01-13 00:40:19 -08:00
git-gui Merge git://repo.or.cz/git-gui 2008-12-17 21:56:48 -08:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-12-21 18:31:12 -08:00
gitweb gitweb: Fix export check in git_get_projects_list 2008-12-27 22:34:03 -08:00
mozilla-sha1 fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
perl Merge branch 'pb/maint-git-pm-false-dir' into maint 2009-01-23 19:02:41 -08:00
ppc fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
t send-pack: do not send unknown object name from ".have" to pack-objects 2009-01-27 23:46:59 -08:00
templates Fix permission bits on sources checked out with an overtight umask 2008-09-09 13:32:32 -07:00
xdiff xdiff: give up scanning similar lines early 2008-12-02 23:45:37 -08:00
.gitattributes git-gui: Use gitattribute "encoding" for file content display 2008-09-24 12:48:31 -07:00
.gitignore add stage to gitignore 2008-12-03 21:29:03 -08:00
.mailmap
COPYING
GIT-VERSION-GEN GIT 1.6.1.1 2009-01-25 12:41:09 -08:00
INSTALL Makefile: add install-man rules (quick and normal) 2008-11-02 20:46:52 -08:00
Makefile Enable threaded delta search on Mac OS X/Darwin 2008-12-17 22:01:20 -08:00
README README: tutorial.txt is now called gittutorial.txt 2009-01-06 22:12:07 -08:00
RelNotes Prepare for v1.6.1.1 maintenance release 2008-12-29 01:17:34 -08:00
abspath.c make_absolute_path(): check bounds when seeing an overlong symlink 2008-12-17 13:36:34 -08:00
alias.c
alloc.c
archive-tar.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
archive-zip.c
archive.c Merge branch 'maint' 2008-10-26 16:21:08 -07:00
archive.h
attr.c
attr.h
base85.c
blob.c
blob.h
branch.c Merge branch 'jc/maint-co-track' 2008-10-21 17:58:11 -07:00
branch.h
builtin-add.c git add: do not add files from a submodule 2009-01-05 10:48:32 -08:00
builtin-annotate.c
builtin-apply.c Merge branch 'ap/maint-apply-modefix' into maint 2009-01-13 00:56:40 -08:00
builtin-archive.c git-archive: work in bare repos 2008-10-26 16:19:59 -07:00
builtin-blame.c builtin-blame.c: use strbuf_readlink() 2008-12-17 13:36:35 -08:00
builtin-branch.c git-branch: display sha1 on branch deletion 2008-12-12 20:42:59 -08:00
builtin-bundle.c Start conforming code to "git subcmd" style 2008-08-30 13:50:48 -07:00
builtin-cat-file.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-check-attr.c Fix non-literal format in printf-style calls 2008-11-11 14:50:02 -08:00
builtin-check-ref-format.c Start conforming code to "git subcmd" style 2008-08-30 13:50:48 -07:00
builtin-checkout-index.c parse-opt: migrate builtin-checkout-index. 2008-10-19 14:38:04 -07:00
builtin-checkout.c Merge branch 'jc/maint-do-not-switch-to-non-commit' into maint 2009-01-11 23:24:42 -08:00
builtin-clean.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-clone.c builtin_clone: use strbuf in cmd_clone() 2008-11-25 15:34:26 -08:00
builtin-commit-tree.c Merge branch 'bc/maint-diff-hunk-header-fix' into bc/master-diff-hunk-header-fix 2008-09-18 20:32:50 -07:00
builtin-commit.c Merge branch 'maint-1.6.0' into maint 2009-01-17 22:39:49 -08:00
builtin-config.c Use git_pathdup instead of xstrdup(git_path(...)) 2008-10-30 17:52:24 -07:00
builtin-count-objects.c Correct output of git-count-objects. 2008-09-08 14:25:43 -07:00
builtin-describe.c Merge branch 'sp/maint-describe-all-tag-warning' into maint 2008-12-27 14:21:15 -08:00
builtin-diff-files.c Add cache preload facility 2008-11-14 19:11:49 -08:00
builtin-diff-index.c
builtin-diff-tree.c Fix git-diff-tree --stdin 2008-09-10 15:00:17 -07:00
builtin-diff.c reorder ALLOW_TEXTCONV option setting 2008-12-07 19:59:25 -08:00
builtin-fast-export.c fast-export: print usage when no options specified 2009-01-03 14:24:15 -08:00
builtin-fetch--tool.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-fetch-pack.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
builtin-fetch.c Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
builtin-fmt-merge-msg.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-for-each-ref.c Fix potentially dangerous uses of mkpath and git_path 2008-10-26 22:25:09 -07:00
builtin-fsck.c Merge branch 'maint-1.6.0' into maint 2009-01-17 22:39:49 -08:00
builtin-gc.c Merge branch 'bc/maint-keep-pack' 2008-11-12 22:00:43 -08:00
builtin-grep.c git grep: Add "-z/--null" option as in GNU's grep. 2008-10-01 09:14:54 -07:00
builtin-help.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-http-fetch.c Merge branch 'ho/dashless' 2008-09-09 22:57:35 -07:00
builtin-init-db.c git init: --bare/--shared overrides system/global config 2008-10-08 07:18:44 -07:00
builtin-log.c Merge branch 'jc/maint-format-patch' into maint 2009-01-23 18:59:59 -08:00
builtin-ls-files.c Teach ls-files --with-tree=<tree> to work with options other than -c 2008-11-16 00:15:50 -08:00
builtin-ls-remote.c git ls-remote: make usage string match manpage 2008-11-11 13:24:00 -08:00
builtin-ls-tree.c
builtin-mailinfo.c
builtin-mailsplit.c
builtin-merge-base.c parse-opt: migrate git-merge-base. 2008-10-02 18:46:02 -07:00
builtin-merge-file.c merge-file: handle freopen() failure 2008-12-26 19:10:02 -08:00
builtin-merge-ours.c
builtin-merge-recursive.c merge-recursive: do not clobber untracked working tree garbage 2008-12-15 02:39:57 -08:00
builtin-merge.c Make some of fwrite/fclose/write/close failures visible 2008-12-04 18:05:41 -08:00
builtin-mv.c fix handling of multiple untracked files for git mv -k 2009-01-14 09:34:22 -08:00
builtin-name-rev.c
builtin-pack-objects.c Merge branch 'maint' 2008-12-11 00:36:31 -08:00
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c make prune report removed objects on -v 2008-09-30 14:30:00 -07:00
builtin-push.c Merge branch 'maint' 2008-10-08 08:05:43 -07:00
builtin-read-tree.c checkout: Fix "initial checkout" detection 2008-11-12 14:16:50 -08:00
builtin-receive-pack.c receive-pack: detect push to current branch of non-bare repo 2008-11-09 10:16:50 -08:00
builtin-reflog.c Merge branch 'ar/maint-mksnpath' into ar/mksnpath 2008-10-30 18:08:58 -07:00
builtin-remote.c git-remote: add verbose mode to git remote update 2008-11-18 15:38:34 -08:00
builtin-rerere.c Always initialize xpparam_t to 0 2008-10-25 12:09:31 -07:00
builtin-reset.c Fix git branch -m for symrefs. 2008-10-26 14:42:57 -07:00
builtin-rev-list.c Add a 'source' decorator for commits 2008-11-04 00:08:03 -08:00
builtin-rev-parse.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-revert.c git-revert: record the parent against which a revert was made 2008-12-21 18:32:04 -08:00
builtin-rm.c git add --intent-to-add: fix removal of cached emptiness 2008-11-28 19:58:24 -08:00
builtin-send-pack.c send-pack: do not send unknown object name from ".have" to pack-objects 2009-01-27 23:46:59 -08:00
builtin-shortlog.c shortlog: handle multi-line subjects like log --pretty=oneline et. al. do 2009-01-06 22:06:07 -08:00
builtin-show-branch.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-show-ref.c 'git foo' program identifies itself without dash in die() messages 2008-08-31 09:39:19 -07:00
builtin-stripspace.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-symbolic-ref.c
builtin-tag.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
builtin-tar-tree.c Cosmetical command name fix 2008-09-15 23:11:35 -07:00
builtin-unpack-objects.c better validation on delta base object offsets 2008-11-02 15:22:34 -08:00
builtin-update-index.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-update-ref.c Fix git update-ref --no-deref -d. 2008-10-26 14:44:25 -07:00
builtin-upload-archive.c
builtin-verify-pack.c
builtin-verify-tag.c
builtin-write-tree.c git add --intent-to-add: do not let an empty blob be committed by accident 2008-11-30 17:59:19 -08:00
builtin.h Merge branch 'jc/alternate-push' 2008-09-25 09:39:24 -07:00
bundle.c Fix non-literal format in printf-style calls 2008-11-11 14:43:59 -08:00
bundle.h
cache-tree.c git add --intent-to-add: do not let an empty blob be committed by accident 2008-11-30 17:59:19 -08:00
cache-tree.h
cache.h Merge branch 'maint' 2008-12-11 00:36:31 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c combine-diff.c: use strbuf_readlink() 2008-12-17 13:36:35 -08:00
command-list.txt
commit.c commit.c: make read_graft_file() static 2008-10-02 18:03:35 -07:00
commit.h builtin-blame: Reencode commit messages according to git-log rules. 2008-10-21 14:09:34 -07:00
config.c Get rid of the last remnants of GIT_CONFIG_LOCAL 2008-12-14 16:43:39 -08:00
config.mak.in Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
configure.ac configure clobbers LDFLAGS 2009-01-05 19:46:19 -08:00
connect.c connect.c: stricter port validation, silence compiler warning 2008-12-21 01:48:23 -08:00
convert.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
copy.c
csum-file.c Merge branch 'maint' 2008-10-10 08:39:20 -07:00
csum-file.h Merge branch 'maint' 2008-10-10 08:39:20 -07:00
ctype.c
daemon.c daemon: cleanup: factor out xstrdup_tolower() 2008-12-26 19:09:56 -08:00
date.c date/time: do not get confused by fractional seconds 2008-11-13 09:06:58 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff: vary default prefix depending on what are compared 2008-08-30 20:53:24 -07:00
diff-no-index.c diff --no-index -q: fix endless loop 2009-01-07 12:04:38 -08:00
diff.c Rename diff.suppress-blank-empty to diff.suppressBlankEmpty 2009-01-21 00:17:40 -08:00
diff.h userdiff: require explicitly allowing textconv 2008-10-26 14:09:48 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Add file delete/create info when we overflow rename_limit 2008-10-28 08:58:42 -07:00
diffcore.h Merge branch 'maint' 2008-11-02 16:36:40 -08:00
dir.c dir.c: make dir_add_name() and dir_add_ignored() static 2008-10-02 17:46:09 -07:00
dir.h dir.c: make dir_add_name() and dir_add_ignored() static 2008-10-02 17:46:09 -07:00
dump-cache-tree.c
editor.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
entry.c 'git foo' program identifies itself without dash in die() messages 2008-08-31 09:39:19 -07:00
environment.c Add cache preload facility 2008-11-14 19:11:49 -08:00
exec_cmd.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
exec_cmd.h
fast-import.c Merge branch 'maint-1.6.0' into maint 2009-01-13 23:10:50 -08:00
fetch-pack.h
fixup-builtins
fsck.c Merge branch 'maint' 2008-11-11 14:49:50 -08:00
fsck.h
generate-cmdlist.sh generate-cmdlist.sh: avoid selecting synopsis at wrong place 2008-11-30 18:16:32 -08:00
git-add--interactive.perl add -p: warn if only binary changes present 2008-10-26 16:20:24 -07:00
git-am.sh git-am: rename apply_opt_extra file to apply-opt 2008-12-05 20:02:10 -08:00
git-archimport.perl
git-bisect.sh bisect view: call gitk if Cygwin's SESSIONNAME variable is set 2009-01-03 14:25:27 -08:00
git-compat-util.h cygwin: Use native Win32 API for stat 2008-09-30 14:30:06 -07:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-filter-branch.sh filter-branch: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-instaweb.sh
git-lost-found.sh lost-found: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool.sh git-mergetool: properly handle "git mergetool -- filename" 2008-12-19 19:10:58 -08:00
git-parse-remote.sh
git-pull.sh pull: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-quiltimport.sh
git-rebase--interactive.sh Merge branch 'maint-1.6.0' into maint 2009-01-13 00:40:19 -08:00
git-rebase.sh rebase: improve error messages about dirty state 2008-12-10 19:07:35 -08:00
git-relink.perl
git-repack.sh repack: only unpack-unreachable if we are deleting redundant packs 2008-11-14 21:39:10 -08:00
git-request-pull.sh request-pull: make usage string match manpage 2008-11-17 02:27:18 -08:00
git-send-email.perl send-email: futureproof split_addrs() sub 2008-12-21 01:57:59 -08:00
git-sh-setup.sh git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir 2008-12-21 01:10:48 -08:00
git-stash.sh Revert "git-stash: use git rev-parse -q" 2008-12-07 17:30:35 -08:00
git-submodule.sh submodule: use git rev-parse -q 2008-12-03 14:27:18 -08:00
git-svn.perl Get rid of the last remnants of GIT_CONFIG_LOCAL 2008-12-14 16:43:39 -08:00
git-web--browse.sh git-web--browse: Support for using /bin/start on MinGW 2008-09-24 15:49:21 -07:00
git.c git: use run_command() to execute dashed externals 2009-01-28 14:09:37 -08:00
git.spec.in Include git-gui--askpass in git-gui RPM package 2008-12-01 00:54:16 -08:00
graph.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
graph.h graph.c: make many functions static 2008-09-25 08:00:28 -07:00
grep.c Merge branch 'maint' 2008-11-11 14:49:50 -08:00
grep.h git grep: Add "-z/--null" option as in GNU's grep. 2008-10-01 09:14:54 -07:00
hash-object.c Fix non-literal format in printf-style calls 2008-11-11 14:50:02 -08:00
hash.c
hash.h
help.c git wrapper: also use aliases to correct mistyped commands 2008-09-11 23:05:39 -07:00
help.h Merge branch 'ar/autospell' 2008-09-07 23:52:16 -07:00
http-push.c http-push: when making directories, have a trailing slash in the path name 2009-01-17 18:19:46 -08:00
http-walker.c fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
http.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
http.h
ident.c Add backslash to list of 'crud' characters in real name 2008-12-02 15:29:13 -08:00
imap-send.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
index-pack.c Merge branch 'np/pack-safer' 2008-11-12 22:26:35 -08:00
levenshtein.c Document levenshtein.c 2008-11-23 19:23:34 -08:00
levenshtein.h git wrapper: DWIM mistyped commands 2008-08-31 10:14:58 -07:00
list-objects.c
list-objects.h
ll-merge.c merge-recursive: use strbuf_expand() instead of interpolate() 2008-11-23 19:55:52 -08:00
ll-merge.h
lockfile.c Make sure lockfiles are unlocked when dying on SIGPIPE 2008-12-21 01:56:20 -08:00
log-tree.c Fix machine-parseability of 'git log --source' 2008-11-16 00:24:41 -08:00
log-tree.h Add a 'source' decorator for commits 2008-11-04 00:08:03 -08:00
mailmap.c
mailmap.h
match-trees.c
merge-file.c Always initialize xpparam_t to 0 2008-10-25 12:09:31 -07:00
merge-index.c 'git foo' program identifies itself without dash in die() messages 2008-08-31 09:39:19 -07:00
merge-recursive.c Merge branch 'js/maint-merge-recursive-r-d-conflict' into maint 2009-01-13 01:15:19 -08:00
merge-recursive.h merge-recursive: move current_{file,directory}_set to struct merge_options 2008-09-04 22:50:43 -07:00
merge-tree.c Replace xmalloc/memset(0) pairs with xcalloc 2008-10-08 07:30:59 -07:00
mktag.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
mktree.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
name-hash.c
object.c
object.h Fix git-diff-tree --stdin 2008-09-10 15:00:17 -07:00
pack-check.c fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
pack-redundant.c
pack-refs.c Enhance hold_lock_file_for_{update,append}() API 2008-10-19 12:35:37 -07:00
pack-refs.h
pack-revindex.c make find_pack_revindex() aware of the nasty world 2008-11-02 15:22:35 -08:00
pack-revindex.h
pack-write.c fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
pack.h improve reliability of fixup_pack_header_footer() 2008-08-29 21:51:27 -07:00
pager.c Merge branch 'maint' 2008-12-15 23:06:13 -08:00
parse-options.c Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
parse-options.h Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
patch-delta.c
patch-id.c fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
patch-ids.c
patch-ids.h
path.c Fix non-literal format in printf-style calls 2008-11-11 14:43:59 -08:00
pkt-line.c
pkt-line.h
preload-index.c Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
pretty.c shortlog: handle multi-line subjects like log --pretty=oneline et. al. do 2009-01-06 22:06:07 -08:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Make 'ce_compare_link()' use the new 'strbuf_readlink()' 2008-12-17 13:36:34 -08:00
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'maint' 2008-11-11 14:49:50 -08:00
refs.h
remote.c Merge branch 'mk/maint-cg-push' 2008-11-12 22:26:24 -08:00
remote.h remote: add a new 'origin' variable to the struct 2008-11-11 14:19:29 -08:00
rerere.c Make some of fwrite/fclose/write/close failures visible 2008-12-04 18:05:41 -08:00
rerere.h
revision.c Merge branch 'maint' 2008-11-14 22:12:38 -08:00
revision.h revision traversal: '--simplify-by-decoration' 2008-11-04 00:45:34 -08:00
run-command.c run_command(): handle missing command errors more gracefully 2009-01-28 14:08:57 -08:00
run-command.h run_command(): help callers distinguish errors 2009-01-28 14:09:35 -08:00
send-pack.h
server-info.c Use git_pathdup instead of xstrdup(git_path(...)) 2008-10-30 17:52:24 -07:00
setup.c Always show which directory is not a git repository 2008-12-21 18:46:41 -08:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c Make 'index_path()' use 'strbuf_readlink()' 2008-12-17 13:36:34 -08:00
sha1_name.c Merge branch 'maint-1.6.0' into maint 2009-01-27 15:23:46 -08:00
shallow.c
shell.c shell: do not play duplicated definition games to shrink the executable 2008-08-29 22:38:41 -07:00
shortlog.h
show-index.c
sideband.c improve handling of sideband message display 2008-09-03 14:51:10 -07:00
sideband.h
strbuf.c Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
strbuf.h Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
string-list.c
string-list.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c Add --verbose|-v to test-chmtime 2008-10-31 00:19:52 -07:00
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-parse-options.c
test-path-utils.c test-path-utils: Fix off by one, found by valgrind 2009-01-27 15:16:41 -08:00
test-sha1.c fix openssl headers conflicting with custom SHA1 implementations 2008-10-02 18:06:56 -07:00
test-sha1.sh
thread-utils.c
thread-utils.h
trace.c
transport.c Merge branch 'rs/alloc-ref' 2008-10-21 17:58:01 -07:00
transport.h Implement git clone -v 2008-10-09 11:26:17 -07:00
tree-diff.c 'git foo' program identifies itself without dash in die() messages 2008-08-31 09:39:19 -07:00
tree-walk.c
tree-walk.h
tree.c
tree.h
unpack-file.c
unpack-trees.c Merge branch 'cb/maint-unpack-trees-absense' into maint 2009-01-23 19:06:38 -08:00
unpack-trees.h checkout: do not lose staged removal 2008-09-09 22:55:22 -07:00
update-server-info.c
upload-pack.c 'git foo' program identifies itself without dash in die() messages 2008-08-31 09:39:19 -07:00
usage.c usage.c: remove unused functions 2008-09-29 07:30:16 -07:00
userdiff.c userdiff: require explicitly allowing textconv 2008-10-26 14:09:48 -07:00
userdiff.h userdiff: require explicitly allowing textconv 2008-10-26 14:09:48 -07:00
utf8.c
utf8.h
var.c
walker.c make alloc_ref_from_str() the new alloc_ref() 2008-10-18 06:53:47 -07:00
walker.h
wrapper.c
write_or_die.c
ws.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
wt-status.c reorder ALLOW_TEXTCONV option setting 2008-12-07 19:59:25 -08:00
wt-status.h
xdiff-interface.c xdiff-interface.c: remove 10 duplicated lines 2008-11-26 10:47:41 -08:00
xdiff-interface.h add xdi_diff_hunks() for callers that only need hunk lengths 2008-10-25 12:09:31 -07:00

README

////////////////////////////////////////////////////////////////

	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 "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.