1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-02 07:17:58 +01:00
Find a file
Joey Hess 96890f4c42 write first for-merge ref to FETCH_HEAD first
The FETCH_HEAD refname is supposed to refer to the ref that was fetched
and should be merged. However all fetched refs are written to
.git/FETCH_HEAD in an arbitrary order, and resolve_ref_unsafe simply
takes the first ref as the FETCH_HEAD, which is often the wrong one,
when other branches were also fetched.

The solution is to write the for-merge ref(s) to FETCH_HEAD first.
Then, unless --append is used, the FETCH_HEAD refname behaves as intended.
If the user uses --append, they presumably are doing so in order to
preserve the old FETCH_HEAD.

While we are at it, update an old example in the read-tree documentation
that implied that each entry in FETCH_HEAD only has the object name, which
is not true for quite a while.

[jc: adjusted tests]

Signed-off-by: Joey Hess <joey@kitenet.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-01-03 16:13:14 -08:00
block-sha1
builtin write first for-merge ref to FETCH_HEAD first 2012-01-03 16:13:14 -08:00
compat Merge branch 'ef/setenv-putenv' 2011-12-22 11:27:24 -08:00
contrib Merge branch 'tr/bash-read-unescaped' 2011-12-22 15:30:38 -08:00
Documentation write first for-merge ref to FETCH_HEAD first 2012-01-03 16:13:14 -08:00
git-gui Merge branch 'master' of git://repo.or.cz/git-gui 2011-12-13 16:48:24 -08:00
git_remote_helpers
gitk-git Merge git://ozlabs.org/~paulus/gitk 2011-12-16 22:18:42 -08:00
gitweb Merge branch 'jn/maint-gitweb-utf8-fix' 2011-12-22 15:30:12 -08:00
mergetools mergetools: use the correct tool for Beyond Compare 3 on Windows 2011-10-15 20:13:55 -07:00
perl Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
po i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
ppc
t write first for-merge ref to FETCH_HEAD first 2012-01-03 16:13:14 -08:00
templates Merge branch 'maint-1.7.6' into maint 2011-10-26 16:09:28 -07:00
vcs-svn Fix a bitwise negation assignment issue spotted by Sun Studio 2011-12-21 10:19:40 -08:00
xdiff Merge branch 'rs/diff-cleanup-records-fix' into maint 2011-10-21 10:49:25 -07:00
.gitattributes git-gui: set whitespace warnings appropriate to this project 2011-11-30 11:35:28 +00:00
.gitignore Merge branch 'tr/cache-tree' 2011-12-19 16:05:20 -08:00
.mailmap
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Merge branch 'jk/maint-upload-archive' into maint 2011-12-21 11:42:44 -08:00
archive.h archive: don't let remote clients get unreachable commits 2011-11-21 14:42:25 -08:00
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 Merge branch 'nd/resolve-ref' 2011-12-19 16:05:50 -08:00
branch.h Merge branch 'jn/branch-move-to-self' 2011-12-13 22:53:08 -08:00
builtin.h Merge branch 'jk/upload-archive-use-start-command' 2011-12-16 22:33:30 -08:00
bulk-checkin.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bulk-checkin.h bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -08:00
bundle.c Convert many resolve_ref() calls to read_ref*() and ref_exists() 2011-11-13 12:21:06 -08:00
bundle.h Merge branch 'jc/unseekable-bundle' 2011-10-21 16:04:32 -07:00
cache-tree.c Refactor cache_tree_update idiom from commit 2011-12-06 14:57:36 -08:00
cache-tree.h Refactor cache_tree_update idiom from commit 2011-12-06 14:57:36 -08:00
cache.h Merge branch 'jk/git-prompt' 2011-12-22 11:27:23 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c pass struct commit to diff_tree_combined_merge() 2011-12-17 18:22:29 -08:00
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/war-on-nul-in-commit' 2011-12-22 11:27:26 -08:00
commit.h Merge branch 'nd/war-on-nul-in-commit' 2011-12-22 11:27:26 -08:00
config.c Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
config.mak.in i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
configure.ac i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
connect.c Merge branch 'jk/git-prompt' 2011-12-22 11:27:23 -08:00
connected.c
connected.h
convert.c Merge branch 'jc/maint-lf-to-crlf-keep-crlf' 2011-12-22 11:27:29 -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 credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
credential-store.c credentials: add "store" helper 2011-12-12 16:09:38 -08:00
credential.c credential: use git_prompt instead of git_getpass 2011-12-12 16:09:39 -08:00
credential.h credential: make relevance of http path configurable 2011-12-11 23:16:25 -08:00
csum-file.c csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
csum-file.h csum-file: introduce sha1file_checkpoint 2011-11-30 14:27:59 -08:00
ctype.c
daemon.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08: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 pass struct commit to diff_tree_combined_merge() 2011-12-17 18:22:29 -08:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c
diffcore.h
dir.c read_directory_recursive: reduce one indentation level 2011-10-27 11:27:57 -07:00
dir.h
editor.c
entry.c
environment.c Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
fetch-pack.h
fixup-builtins
fmt-merge-msg.h
fsck.c
fsck.h
generate-cmdlist.sh
gettext.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
gettext.h i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
git-add--interactive.perl
git-am.sh Merge branch 'maint-1.7.7' into maint 2011-12-09 13:33:39 -08: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 Merge branch 'jk/credentials' 2011-12-19 16:05:16 -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 'ab/pull-rebase-config' 2011-12-09 13:37:01 -08:00
git-quiltimport.sh
git-rebase--am.sh
git-rebase--interactive.sh Merge branch 'aw/rebase-i-stop-on-failure-to-amend' 2011-12-16 22:33:37 -08: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 request-pull: do not emit "tag" before the tagname 2011-12-19 11:59:57 -08:00
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 i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
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 git-svn.perl: close the edit for propedits even with no mods 2011-12-01 14:25:30 -08:00
GIT-VERSION-GEN Git 1.7.7.5 2011-12-13 21:55:31 -08:00
git-web--browse.sh
git.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
git.spec.in gitweb: Add gitweb manpages to 'gitweb' package in git.spec 2011-10-16 11:09:35 -07:00
gpg-interface.c Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
gpg-interface.h Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
graph.c
graph.h
grep.c grep: enable threading with -p and -W using lazy attribute lookup 2011-12-16 15:47:10 -08:00
grep.h grep: enable threading with -p and -W using lazy attribute lookup 2011-12-16 15:47:10 -08:00
hash.c
hash.h
help.c
help.h
hex.c
http-backend.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
http-fetch.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-push.c Merge branch 'ab/enable-i18n' 2011-12-19 16:06:41 -08:00
http-walker.c
http.c Merge branch 'jk/maint-push-over-dav' 2011-12-19 16:05:59 -08:00
http.h Merge branch 'jk/maint-push-over-dav' 2011-12-19 16:05:59 -08:00
ident.c
imap-send.c Merge branch 'jk/git-prompt' 2011-12-22 11:27:23 -08:00
INSTALL i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
kwset.c
kwset.h
levenshtein.c
levenshtein.h
LGPL-2.1
list-objects.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c pass struct commit to diff_tree_combined_merge() 2011-12-17 18:22:29 -08:00
log-tree.h
mailmap.c Merge branch 'ml/mailmap' into maint-1.7.6 2011-12-13 21:12:14 -08:00
mailmap.h
Makefile Merge branch 'jk/git-prompt' 2011-12-22 11:27:23 -08:00
match-trees.c
merge-file.c
merge-file.h
merge-recursive.c Merge branch 'tr/cache-tree' 2011-12-19 16:05:20 -08: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 Convert commit_tree() to take strbuf as message 2011-12-15 10:46:42 -08:00
notes-cache.h
notes-merge.c Merge branch 'nd/war-on-nul-in-commit' 2011-12-22 11:27:26 -08:00
notes-merge.h Convert commit_tree() to take strbuf as message 2011-12-15 10:46:42 -08:00
notes.c
notes.h
object.c receive-pack, fetch-pack: reject bogus pack that records objects twice 2011-11-16 22:05:21 -08:00
object.h
pack-check.c fsck: print progress 2011-11-06 20:31:28 -08:00
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
pack.h Merge branch 'jc/stream-to-pack' 2011-12-16 22:33:40 -08:00
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 pretty: give placeholders to reflog identity 2011-12-16 13:00:15 -08:00
progress.c
progress.h
prompt.c prompt: use git_terminal_prompt 2011-12-12 16:09:38 -08:00
prompt.h prompt: use git_terminal_prompt 2011-12-12 16:09:38 -08:00
quote.c Merge branch 'jk/argv-array' into maint 2011-10-26 16:13:31 -07:00
quote.h
reachable.c reachable: per-object progress 2011-11-07 22:12:19 -08:00
reachable.h prune: show progress while marking reachable objects 2011-11-07 22:12:19 -08:00
read-cache.c Merge branch 'rs/allocate-cache-entry-individually' 2011-12-09 13:36:56 -08:00
README
reflog-walk.c Merge branch 'jk/pretty-reglog-ent' 2011-12-22 11:27:28 -08:00
reflog-walk.h pretty: give placeholders to reflog identity 2011-12-16 13:00:15 -08:00
refs.c Merge branch 'mh/ref-api' 2011-12-20 13:25:53 -08:00
refs.h resolve_gitlink_ref(): improve docstring 2011-12-12 09:08:53 -08:00
RelNotes Update draft release notes for 1.7.8.1 2011-12-13 22:08:52 -08:00
remote-curl.c Merge branch 'jk/http-push-to-empty' 2011-12-22 11:27:22 -08:00
remote.c Rename resolve_ref() to resolve_ref_unsafe() 2011-12-13 09:39:46 -08: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 revert: stop creating and removing sequencer-old directory 2011-12-12 13:33:53 -08:00
sequencer.h revert: stop creating and removing sequencer-old directory 2011-12-12 13:33:53 -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-array.c
sha1-array.h
sha1-lookup.c
sha1-lookup.h
sha1_file.c Appease Sun Studio by renaming "tmpfile" 2011-12-21 10:21:04 -08:00
sha1_name.c Merge branch 'jc/broken-ref-dwim-fix' 2011-10-21 16:04:36 -07:00
shallow.c
shell.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
shortlog.h
show-index.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c Merge branch 'jk/credentials' 2011-12-19 16:05:16 -08:00
strbuf.h Merge branch 'jk/credentials' 2011-12-19 16:05:16 -08:00
streaming.c
streaming.h
string-list.c
string-list.h
submodule.c Merge branch 'jl/submodule-status-failure-report' into maint 2011-12-21 11:42:45 -08: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 Split GPG interface into its own helper library 2011-11-04 21:40:25 -07:00
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 Refactor cache_tree_update idiom from commit 2011-12-06 14:57:36 -08:00
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-scrap-cache-tree.c Add test-scrap-cache-tree 2011-12-06 14:52:18 -08:00
test-sha1.c
test-sha1.sh
test-sigchain.c
test-string-pool.c
test-subprocess.c
test-svn-fe.c
test-treap.c Fix a bitwise negation assignment issue spotted by Sun Studio 2011-12-21 10:19:40 -08:00
thread-utils.c
thread-utils.h
trace.c
transport-helper.c
transport.c Merge branch 'jk/maint-push-v-is-verbose' 2011-12-22 11:27:29 -08:00
transport.h
tree-diff.c use custom rename score during --follow 2011-12-16 12:33:49 -08:00
tree-walk.c tree_entry_interesting: make use of local pointer "item" 2011-10-27 11:38:24 -07:00
tree-walk.h tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.c tree_entry_interesting(): give meaningful names to return values 2011-10-27 11:38:24 -07:00
tree.h
unimplemented.sh
unix-socket.c credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unix-socket.h credentials: add "cache" helper 2011-12-11 23:16:25 -08:00
unpack-trees.c tree-walk.c: do not leak internal structure in tree_entry_len() 2011-10-27 11:08:26 -07:00
unpack-trees.h Merge branch 'jc/diff-index-unpack' into maint 2011-10-15 20:46:36 -07:00
upload-pack.c i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
url.c Merge branch 'jk/http-auth' 2011-10-17 21:37:15 -07:00
url.h
usage.c
userdiff.c Merge branch 'tr/userdiff-c-returns-pointer' into maint 2011-12-21 11:42:45 -08:00
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh i18n: add infrastructure for translating Git with gettext 2011-12-05 20:46:55 -08:00
wrapper.c
write_or_die.c
ws.c
wt-status.c Convert resolve_ref+xstrdup to new resolve_refdup function 2011-12-13 09:26:52 -08:00
wt-status.h
xdiff-interface.c
xdiff-interface.h
zlib.c bulk-checkin: replace fast-import based implementation 2011-12-01 11:46:09 -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/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.