Go to file
Jeff King 35a71f1402 credential-cache: ignore "connection refused" errors
The credential-cache helper will try to connect to its
daemon over a unix socket. Originally, a failure to do so
was silently ignored, and we would either give up (if
performing a "get" or "erase" operation), or spawn a new
daemon (for a "store" operation).

But since 8ec6c8d, we try to report more errors. We detect a
missing daemon by checking for ENOENT on our connection
attempt.  If the daemon is missing, we continue as before
(giving up or spawning a new daemon). For any other error,
we die and report the problem.

However, checking for ENOENT is not sufficient for a missing
daemon. We might also get ECONNREFUSED if a dead daemon
process left a stale socket. This generally shouldn't
happen, as the daemon cleans up after itself, but the daemon
may not always be given a chance to do so (e.g., power loss,
"kill -9").

The resulting state is annoying not just because the helper
outputs an extra useless message, but because it actually
blocks the helper from spawning a new daemon to replace the
stale socket.

Fix it by checking for ECONNREFUSED.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-01-16 22:15:19 -08:00
Documentation credentials: add "store" helper 2011-12-12 16:09:38 -08:00
block-sha1
builtin revert: remove --reset compatibility option 2011-11-22 18:18:02 -08:00
compat Revert "upload-archive: use start_command instead of fork" 2011-11-15 15:39:33 -08:00
contrib Merge branch 'sn/complete-bash-wo-process-subst' 2011-11-09 05:46:39 -08:00
git-gui Merge git://repo.or.cz/git-gui 2011-10-16 03:01:44 -07:00
git_remote_helpers
gitk-git
gitweb Merge branch 'jm/maint-gitweb-filter-forks-fix' into maint 2011-11-08 16:26:50 -08:00
mergetools mergetools: use the correct tool for Beyond Compare 3 on Windows 2011-10-15 20:13:55 -07:00
perl libperl-git: refactor Git::config_* 2011-10-18 12:00:33 -07:00
po
ppc
t t: add test harness for external credential helpers 2011-12-12 16:09:38 -08:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn
xdiff Merge branch 'rs/diff-cleanup-records-fix' into maint 2011-10-21 10:49:25 -07:00
.gitattributes
.gitignore credentials: add "store" helper 2011-12-12 16:09:38 -08:00
.mailmap
COPYING
GIT-VERSION-GEN Git 1.7.7.4 2011-11-18 11:28:05 -08:00
INSTALL docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
LGPL-2.1
Makefile credentials: add "store" helper 2011-12-12 16:09:38 -08:00
README
RelNotes Git 1.7.7.4 2011-11-18 11:28:05 -08:00
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c
archive.h
argv-array.c
argv-array.h
attr.c
attr.h
base85.c
bisect.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
bisect.h
blob.c
blob.h
branch.c revert: write REVERT_HEAD pseudoref during conflicted revert 2011-11-22 13:34:44 -08:00
branch.h
builtin.h
bundle.c Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c
cache-tree.h
cache.h Merge branch 'jk/maint-pack-objects-compete-with-delete' 2011-10-21 16:04:33 -07:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c
command-list.txt Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages 2011-10-16 11:09:35 -07:00
commit.c Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
commit.h Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
config.c config.c: Fix a static buffer overwrite bug by avoiding mkpath() 2011-11-20 19:32:09 -08:00
config.mak.in
configure.ac
connect.c
connected.c
connected.h
convert.c convert.c: Fix return type of git_path_check_eol() 2011-11-21 11:00:57 -08:00
convert.h
copy.c
credential-cache--daemon.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-cache.c credential-cache: ignore "connection refused" errors 2012-01-16 22:15:19 -08:00
credential-store.c credentials: add "store" helper 2011-12-12 16:09:38 -08:00
credential.c credential: make relevance of http path configurable 2011-12-11 23:16:25 -08:00
credential.h credential: make relevance of http path configurable 2011-12-11 23:16:25 -08:00
csum-file.c
csum-file.h
ctype.c
daemon.c Merge branch 'jk/daemon-msgs' 2011-10-21 16:04:32 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c Merge branch 'cn/eradicate-working-copy' into maint 2011-10-26 16:13:31 -07:00
diff-no-index.c
diff.c Merge branch 'jc/maint-diffstat-numstat-context' into maint 2011-11-01 16:10:56 -07:00
diff.h
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c
dir.h
editor.c
entry.c
environment.c Merge branch 'bc/attr-ignore-case' 2011-10-17 21:37:14 -07:00
exec_cmd.c
exec_cmd.h
fast-import.c
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-am.sh
git-archimport.perl
git-bisect.sh Merge branch 'js/bisect-no-checkout' into maint 2011-11-01 16:03:35 -07:00
git-compat-util.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh Merge branch 'jk/filter-branch-require-clean-work-tree' into maint 2011-10-15 20:46:38 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh Merge branch 'js/maint-merge-one-file-osx-expr' into maint 2011-10-21 10:49:25 -07:00
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh Merge branch 'jm/mergetool-pathspec' into maint-1.7.6 2011-10-26 16:12:25 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh "rebase -i": support special-purpose editor to edit insn sheet 2011-10-17 14:40:07 -07:00
git-rebase--merge.sh
git-rebase.sh Merge branch 'jk/pull-rebase-with-work-tree' into maint 2011-11-01 16:11:00 -07:00
git-relink.perl
git-remote-testgit.py
git-repack.sh
git-request-pull.sh
git-send-email.perl Merge branch 'md/smtp-tls-hello-again' into maint 2011-11-01 16:12:19 -07:00
git-sh-i18n.sh
git-sh-setup.sh
git-stash.sh
git-submodule.sh Merge branch 'tc/submodule-clone-name-detection' 2011-10-26 16:16:32 -07:00
git-svn.perl svn: Quote repository root in regex match 2011-11-01 20:05:33 +00:00
git-web--browse.sh
git.c
git.spec.in gitweb: Add gitweb manpages to 'gitweb' package in git.spec 2011-10-16 11:09:35 -07:00
graph.c
graph.h
grep.c
grep.h
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c
http-fetch.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
http-push.c Merge branch 'jc/match-refs-clarify' 2011-10-21 16:04:35 -07:00
http-walker.c
http.c http: use credential API to get passwords 2011-12-11 23:16:24 -08:00
http.h http_init: accept separate URL parameter 2011-10-15 21:18:36 -07:00
ident.c
imap-send.c
kwset.c
kwset.h
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c Merge branch 'js/log-show-children' 2011-10-18 21:59:12 -07:00
log-tree.h
mailmap.c Merge branch 'ml/mailmap' into maint 2011-11-18 11:14:00 -08:00
mailmap.h
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c Merge branch 'cn/eradicate-working-copy' into maint 2011-10-26 16:13:31 -07:00
merge-recursive.h
name-hash.c name-hash.c: always initialize dir_next pointer 2011-11-01 15:29:18 -07:00
notes-cache.c
notes-cache.h
notes-merge.c Sync with 1.7.7.4 2011-11-18 11:30:02 -08:00
notes-merge.h
notes.c
notes.h
object.c
object.h
pack-check.c
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c
pkt-line.c
pkt-line.h
preload-index.c
pretty.c Merge branch 'nd/pretty-commit-log-message' 2011-11-01 15:20:03 -07:00
progress.c
progress.h
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h
reachable.c
reachable.h
read-cache.c read-cache.c: fix index memory allocation 2011-10-26 14:35:16 -07:00
reflog-walk.c
reflog-walk.h
refs.c refs: loosen over-strict "format" check 2011-11-16 21:52:24 -08:00
refs.h Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
remote-curl.c Merge branch 'sp/smart-http-failure' into maint 2011-11-01 15:45:16 -07:00
remote.c Merge branch 'cn/fetch-prune' 2011-10-26 16:16:29 -07:00
remote.h Merge branch 'cn/fetch-prune' 2011-10-26 16:16:29 -07:00
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'nd/maint-autofix-tag-in-head' into maint 2011-10-21 10:49:26 -07:00
revision.h Merge branch 'bk/ancestry-path' into maint 2011-10-15 20:46:38 -07:00
run-command.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
run-command.h
send-pack.h
sequencer.c
sequencer.h revert: rename --reset option to --quit 2011-11-22 13:30:35 -08:00
server-info.c
setup.c
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c sha1_file: don't mix enum with int 2011-11-15 16:09:20 -08:00
sha1_name.c Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c strbuf: add strbuf_add*_urlencode 2011-12-12 16:08:27 -08:00
strbuf.h strbuf: add strbuf_add*_urlencode 2011-12-12 16:08:27 -08:00
streaming.c
streaming.h
string-list.c
string-list.h
submodule.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-credential.c introduce credentials API 2011-12-11 23:16:24 -08:00
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c
test-genrandom.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mktemp.c
test-obj-pool.c
test-parse-options.c
test-path-utils.c
test-run-command.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-pool.c
test-subprocess.c
test-svn-fe.c
test-treap.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c
transport.c Merge branch 'jc/match-refs-clarify' 2011-10-21 16:04:35 -07:00
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unix-socket.c unix-socket: do not let close() or chdir() clobber errno during cleanup 2012-01-11 17:37:10 -08:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
unpack-trees.h Merge branch 'jc/diff-index-unpack' into maint 2011-10-15 20:46:36 -07:00
upload-pack.c
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h
usage.c
userdiff.c
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh
wrapper.c
write_or_die.c
ws.c
wt-status.c Merge branch 'maint-1.7.5' into maint-1.7.6 2011-10-26 16:08:19 -07:00
wt-status.h
xdiff-interface.c
xdiff-interface.h
zlib.c

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