Go to file
Junio C Hamano d46f476cb2 merge: do not trust fstat(2) too much when checking interactiveness
The heuristic used by "git merge" to decide if it automatically gives an
editor upon clean automerge is to see if the standard input and the
standard output is the same device and is a tty, we are in an interactive
session.  "The same device" test was done by comparing fstat(2) result on
the two file descriptors (and they must match), and we asked isatty() only
for the standard input (we insist that they are the same device and there
is no point asking tty-ness of the standard output).

The stat(2) emulation in the Windows port however does not give a usable
value in the st_ino field, so even if the standard output is connected to
something different from the standard input, "The same device" test may
incorrectly return true. To accomodate it, add another isatty() check for
the standard output stream as well.

Reported-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-02-23 12:48:26 -08:00
Documentation Sync with 1.7.9.2 2012-02-22 17:49:02 -08:00
block-sha1
builtin merge: do not trust fstat(2) too much when checking interactiveness 2012-02-23 12:48:26 -08:00
compat Merge branch 'bw/inet-pton-ntop-compat' into maint 2012-02-13 23:26:31 -08:00
contrib Sync with 1.7.9.2 2012-02-22 17:49:02 -08:00
git-gui
git_remote_helpers
gitk-git
gitweb Merge branch 'jn/gitweb-unborn-head' 2012-02-21 15:25:53 -08:00
mergetools Merge branch 'jn/ancient-meld-support' 2012-02-14 12:57:17 -08:00
perl
po
ppc
t t9100: remove bogus " || test" after each test scriptlet 2012-02-21 21:10:33 -08:00
templates
vcs-svn vcs-svn: suppress a -Wtype-limits warning 2012-02-02 11:05:18 -08:00
xdiff Merge branch 'rs/diff-postimage-in-context' 2012-01-29 13:18:55 -08:00
.gitattributes
.gitignore Merge branch 'svn-fe' of git://repo.or.cz/git/jrn into jn/svn-fe 2012-01-27 11:20:00 -08:00
.mailmap
COPYING
GIT-VERSION-GEN Git 1.7.9.2 2012-02-22 17:48:01 -08:00
INSTALL Fix build problems related to profile-directed optimization 2012-02-06 00:15:12 -08:00
LGPL-2.1
Makefile Merge branch 'dp/i18n-libcharset' into maint 2012-02-21 14:57:14 -08:00
README
RelNotes Update draft release notes to 1.7.9.2 2012-02-16 14:26:32 -08:00
abspath.c
aclocal.m4
advice.c Merge branch 'nd/clone-detached' 2012-01-31 22:24:23 -08:00
advice.h clone: print advice on checking out detached HEAD 2012-01-16 16:26:27 -08:00
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
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin.h
bulk-checkin.c
bulk-checkin.h
bundle.c
bundle.h
cache-tree.c Merge branch 'jc/maint-commit-ignore-i-t-a' into maint 2012-02-16 14:08:00 -08:00
cache-tree.h cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
cache.h Merge branch 'jk/git-dir-lookup' into maint 2012-02-21 15:13:16 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c
command-list.txt
commit.c Merge branch 'nd/index-pack-no-recurse' 2012-01-29 13:18:56 -08:00
commit.h
config.c
config.mak.in Makefile: introduce CHARSET_LIB to link with -lcharset 2012-02-13 00:11:01 -08:00
configure.ac Makefile: introduce CHARSET_LIB to link with -lcharset 2012-02-13 00:11:01 -08:00
connect.c
connected.c
connected.h
convert.c
convert.h
copy.c
credential-cache--daemon.c
credential-cache.c credential-cache: ignore "connection refused" errors 2012-01-16 22:15:19 -08:00
credential-store.c
credential.c
credential.h
csum-file.c
csum-file.h
ctype.c ctype.c only wants git-compat-util.h 2012-02-10 12:53:55 -08:00
daemon.c
date.c Merge branch 'jc/parse-date-raw' into maint 2012-02-13 11:42:15 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c diff-index: enable recursive pathspec matching in unpack_trees 2012-01-18 15:44:02 -08:00
diff-no-index.c
diff.c Merge branch 'jc/diff-stat-scaler' into maint 2012-02-21 15:00:33 -08:00
diff.h Use correct grammar in diffstat summary line 2012-02-03 23:19:42 -08:00
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
exec_cmd.c
exec_cmd.h
fast-import.c
fetch-pack.h
fixup-builtins
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c
gettext.h
git-add--interactive.perl
git-am.sh Merge branch 'tr/maint-mailinfo' 2012-01-29 13:18:53 -08:00
git-archimport.perl
git-bisect.sh
git-compat-util.h ctype: implement islower/isupper macro 2012-02-10 12:56:29 -08:00
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-difftool--helper.sh
git-difftool.perl
git-filter-branch.sh
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh
git-mergetool.sh mergetool: Provide an empty file when needed 2012-01-23 11:50:22 -08:00
git-parse-remote.sh
git-pull.sh "git pull" doesn't know "--edit" 2012-02-12 19:24:47 -08:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh
git-rebase--merge.sh
git-rebase.sh
git-relink.perl
git-remote-testgit.py
git-repack.sh
git-request-pull.sh request-pull: explicitly ask tags/$name to be pulled 2012-01-31 21:27:58 -08:00
git-send-email.perl
git-sh-i18n.sh add a Makefile switch to avoid gettext translation in shell scripts 2012-01-23 14:24:14 -08:00
git-sh-setup.sh Merge branch 'jc/parse-date-raw' into maint 2012-02-13 11:42:15 -08:00
git-stash.sh
git-submodule.sh submodule add: fix breakage when re-adding a deep submodule 2012-01-24 14:18:18 -08:00
git-svn.perl git-svn.perl: fix a false-positive in the "already exists" test 2012-02-21 21:37:31 +00:00
git-web--browse.sh
git.c
git.spec.in git.spec: Workaround localized messages not put in any RPM 2012-02-03 23:06:30 -08:00
gpg-interface.c
gpg-interface.h
graph.c
graph.h
grep.c grep: load file data after checking binary-ness 2012-02-02 10:36:08 -08:00
grep.h grep: respect diff attributes for binary-ness 2012-02-02 10:36:08 -08:00
hash.c
hash.h
help.c pager: find out the terminal width before spawning the pager 2012-02-13 15:08:47 -08:00
help.h
hex.c
http-backend.c
http-fetch.c
http-push.c
http-walker.c
http.c
http.h
ident.c
imap-send.c Sync with 1.7.6.6 2012-02-05 23:53:21 -08:00
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 'nd/maint-refname-in-hierarchy-check' 2012-01-29 13:18:51 -08:00
log-tree.h
mailmap.c mailmap: always return a plain mail address from map_user() 2012-02-06 14:00:06 -08:00
mailmap.h
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
merge-recursive.h
name-hash.c
notes-cache.c
notes-cache.h
notes-merge.c
notes-merge.h
notes.c
notes.h
object.c
object.h
pack-check.c
pack-refs.c pack_refs(): remove redundant check 2012-01-17 11:41:41 -08:00
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c Merge branch 'zj/decimal-width' 2012-02-20 00:15:11 -08:00
parse-options-cb.c
parse-options.c
parse-options.h
patch-delta.c
patch-ids.c
patch-ids.h
path.c standardize and improve lookup rules for external local repos 2012-02-02 16:41:55 -08:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
progress.c
progress.h
prompt.c prompt: fall back to terminal if askpass fails 2012-02-03 14:37:04 -08:00
prompt.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c
reflog-walk.c
reflog-walk.h
refs.c refs: remove the extra_refs API 2012-02-12 19:50:39 -08:00
refs.h refs: remove the extra_refs API 2012-02-12 19:50:39 -08:00
remote-curl.c Merge branch 'sp/smart-http-failure-to-push' into maint 2012-02-05 23:58:43 -08:00
remote.c i18n: format_tracking_info "Your branch is behind" message 2012-02-01 18:09:17 -08:00
remote.h
replace_object.c
rerere.c
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jk/grep-binary-attribute' into maint 2012-02-21 14:57:05 -08:00
revision.h
run-command.c
run-command.h
send-pack.h
sequencer.c Merge branch 'rr/sequencer' 2012-01-31 22:01:14 -08:00
sequencer.h
server-info.c
setup.c standardize and improve lookup rules for external local repos 2012-02-02 16:41:55 -08:00
sh-i18n--envsubst.c
sha1-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Merge branch 'nd/find-pack-entry-recent-cache-invalidation' into maint 2012-02-21 14:56:36 -08:00
sha1_name.c
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c
strbuf.h
streaming.c
streaming.h
string-list.c
string-list.h
submodule.c
submodule.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c
test-credential.c
test-ctype.c
test-date.c
test-delta.c
test-dump-cache-tree.c cache-tree: update API to take abitrary flags 2012-02-07 16:35:43 -08:00
test-genrandom.c
test-index-version.c
test-line-buffer.c
test-match-trees.c
test-mktemp.c
test-parse-options.c
test-path-utils.c
test-run-command.c
test-scrap-cache-tree.c
test-sha1.c
test-sha1.sh
test-sigchain.c
test-subprocess.c
test-svn-fe.c
thread-utils.c
thread-utils.h
trace.c
transport-helper.c
transport.c push/fetch/clone --no-progress suppresses progress output 2012-02-13 13:06:53 -08:00
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unimplemented.sh
unix-socket.c
unix-socket.h
unpack-trees.c
unpack-trees.h
upload-pack.c Merge branch 'jk/parse-object-cached' 2012-01-29 13:18:55 -08:00
url.c
url.h
usage.c
userdiff.c drop odd return value semantics from userdiff_config 2012-02-07 10:44:54 -08:00
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
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.