1
0
mirror of https://github.com/git/git.git synced 2024-10-20 23:58:49 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Jonathan Nieder 06121a0a83 unix-socket: do not let close() or chdir() clobber errno during cleanup
unix_stream_connect and unix_stream_listen return -1 on error, with
errno set by the failing underlying call to allow the caller to write
a useful diagnosis.

Unfortunately the error path involves a few system calls itself, such
as close(), that can themselves touch errno.

This is not as worrisome as it might sound.  If close() fails, this
just means substituting one meaningful error message for another,
which is perfectly fine.  However, when the call _succeeds_, it is
allowed to (and sometimes might) clobber errno along the way with some
undefined value, so it is good higiene to save errno and restore it
immediately before returning to the caller.  Do so.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-01-11 17:37:10 -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
Documentation credentials: add "store" helper 2011-12-12 16:09:38 -08:00
git_remote_helpers Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
git-gui Merge git://repo.or.cz/git-gui 2011-10-16 03:01:44 -07:00
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
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.c: respect core.ignorecase when matching attribute patterns 2011-10-11 09:43:05 -07:00
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_bindir
check-builtins.sh
check-racy.c
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 Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
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
COPYING
credential-cache--daemon.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-cache.c credential-cache: report more daemon connection errors 2012-01-10 10:10:43 -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 diff: add option to show whole functions as context 2011-10-10 12:05:07 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c pickaxe: factor out pickaxe 2011-10-07 15:46:14 -07:00
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 Merge branch 'di/fast-import-empty-tag-note-fix' 2011-10-13 19:03:19 -07:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-am.sh Merge branch 'gb/am-hg-patch' 2011-10-05 12:36:17 -07:00
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 use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
git-difftool--helper.sh git-difftool: allow skipping file by typing 'n' at prompt 2011-10-10 10:21:11 -07:00
git-difftool.perl use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
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 use -h for synopsis and --help for manpage consistently 2011-10-05 10:47:10 -07:00
git-stash.sh Merge branch 'bc/unstash-clean-crufts' 2011-10-05 12:36:17 -07:00
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-VERSION-GEN Git 1.7.7.4 2011-11-18 11:28:05 -08: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 get_sha1_hex(): do not read past a NUL character 2011-10-05 13:45:16 -07:00
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 ident: do not retrieve default ident when unnecessary 2011-10-06 11:16:16 -07:00
imap-send.c
INSTALL docs: Update install-doc-quick 2011-11-08 13:37:10 -08:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
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
Makefile credentials: add "store" helper 2011-12-12 16:09:38 -08:00
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 Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
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
README
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
RelNotes Git 1.7.7.4 2011-11-18 11:28:05 -08: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 Merge branch 'cb/common-prefix-unification' 2011-10-10 15:56:17 -07:00
sh-i18n--envsubst.c
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
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
shallow.c
shell.c
shortlog.h
show-index.c cleanup: use internal memory allocation wrapper functions everywhere 2011-10-06 13:54:32 -07:00
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 submodule: Search for merges only at end of recursive merge 2011-10-13 10:18:16 -07:00
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 cleanup: use internal memory allocation wrapper functions everywhere 2011-10-06 13:54:32 -07:00
transport.c Merge branch 'jc/match-refs-clarify' 2011-10-21 16:04:35 -07:00
transport.h
tree-diff.c
tree-walk.c Merge branch 'dm/tree-walk' 2011-10-10 15:56:20 -07:00
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 Merge branch 'jc/fetch-verify' 2011-10-05 12:36:20 -07:00
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 Change check_ref_format() to take a flags argument 2011-10-05 13:45:29 -07:00
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

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

	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.