1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-05 00:37:55 +01:00
Find a file
Jonathan Nieder f8bd36a433 checkout: rearrange update_refs_for_switch for clarity
Take care of simple, exceptional cases before the meat of the "check
out by branch name" code begins.  After this change, the function
vaguely follows the following pseudocode:

	if (-B or -b)
		create branch;
	if (plain "git checkout" or "git checkout HEAD")
		;
	else if (--detach or checking out by non-branch commit name)
		detach HEAD;
	else if (checking out by branch name)
		attach HEAD;

One nice side benefit is to make it possible to remove handling of
the --detach option from outside switch_branches.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-02-08 11:14:26 -08:00
block-sha1
builtin checkout: rearrange update_refs_for_switch for clarity 2011-02-08 11:14:26 -08:00
compat mingw: do not set errno to 0 on success 2010-11-23 16:08:01 -08:00
contrib Merge branch 'ab/require-perl-5.8' into maint 2010-12-09 10:35:21 -08:00
Documentation checkout: introduce --detach synonym for "git checkout foo^{commit}" 2011-02-08 11:14:26 -08:00
git-gui Merge git://repo.or.cz/git-gui 2010-09-15 12:34:48 -07:00
git_remote_helpers remote-helpers: build in platform independent directory 2010-09-27 10:42:50 -07:00
gitk-git
gitweb gitweb: skip logo in atom feed when there is none 2011-01-04 10:48:37 -08:00
perl perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
ppc
t checkout: introduce --detach synonym for "git checkout foo^{commit}" 2011-02-08 11:14:26 -08:00
templates
vcs-svn vcs-svn: Fix some printf format compiler warnings 2010-09-12 10:24:55 -07:00
xdiff Merge branch 'cb/diff-fname-optim' into maint 2010-11-24 12:46:26 -08:00
.gitattributes
.gitignore Merge branch 'ab/test-2' 2010-09-04 08:15:36 -07:00
.mailmap
abspath.c
aclocal.m4
advice.c
advice.h
alias.c
alloc.c
archive-tar.c
archive-zip.c
archive.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
archive.h
attr.c
attr.h
base85.c
bisect.c
bisect.h
blob.c
blob.h
branch.c
branch.h
builtin.h Merge branch 'ks/no-textconv-symlink' into maint 2010-12-02 11:26:24 -08:00
bundle.c bundle: detect if bundle file cannot be created 2010-08-27 16:46:26 -07:00
bundle.h
cache-tree.c cache_tree_free: Fix small memory leak 2010-09-06 17:32:28 -07:00
cache-tree.h
cache.h do not overwrite files in leading path 2010-12-14 08:55:12 -08:00
check-builtins.sh
check-racy.c
check_bindir
color.c
color.h
combine-diff.c
command-list.txt
commit.c Merge branch 'cc/find-commit-subject' 2010-08-18 12:46:55 -07:00
commit.h Merge branch 'cc/find-commit-subject' 2010-08-18 12:46:55 -07:00
config.c log.decorate: accept 0/1 bool values 2010-11-17 10:59:23 -08:00
config.mak.in Merge branch 'ab/compat-regex' 2010-09-03 09:43:45 -07:00
configure.ac Merge branch 'ab/compat-regex' 2010-09-03 09:43:45 -07:00
connect.c Make sure that git_getpass() never returns NULL 2010-09-30 12:22:02 -07:00
convert.c
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c
daemon.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
date.c
decorate.c
decorate.h
delta.h
diff-delta.c fix >4GiB source delta assertion failure 2010-08-21 23:53:26 -07:00
diff-lib.c
diff-no-index.c
diff.c fill_textconv(): Don't get/put cache if sha1 is not valid 2010-12-19 18:41:32 -08:00
diff.h Merge branch 'mm/shortopt-detached' 2010-08-21 23:28:31 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c diffcore-pickaxe.c: remove unnecessary curly braces 2010-10-05 08:41:58 -07:00
diffcore-rename.c
diffcore.h
dir.c dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout 2010-11-08 11:39:23 -08:00
dir.h
editor.c
entry.c entry.c: remove "checkout-index" from error messages 2010-11-29 14:03:07 -08:00
environment.c setup: make sure git_dir path is in a permanent buffer, getenv(3) case 2010-11-12 16:03:27 -08:00
exec_cmd.c
exec_cmd.h
fast-import.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
fetch-pack.h
fixup-builtins
fsck.c
fsck.h
generate-cmdlist.sh
git-add--interactive.perl Merge branch 'jl/add-p-reverse-message' into maint 2010-12-09 10:36:47 -08:00
git-am.sh Merge branch 'jc/maint-rebase-rewrite-last-skip' into maint 2010-12-28 13:43:10 -08:00
git-archimport.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-bisect.sh
git-compat-util.h do not depend on signed integer overflow 2010-10-06 11:10:07 -07:00
git-cvsexportcommit.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-cvsimport.perl perl: use "use warnings" instead of -w 2010-09-27 12:37:56 -07:00
git-cvsserver.perl perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
git-difftool--helper.sh difftool: provide basename to external tools 2010-12-16 13:01:36 -08:00
git-difftool.perl perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
git-filter-branch.sh filter-branch: retire --remap-to-ancestor 2010-08-27 16:47:01 -07:00
git-instaweb.sh
git-lost-found.sh
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool--lib.sh mergetool: Remove explicit references to /dev/tty 2010-08-20 14:09:04 -07:00
git-mergetool.sh Merge branch 'cb/maint-mergetool-no-tty' 2010-09-03 09:43:44 -07:00
git-parse-remote.sh
git-pull.sh Merge branch 'en/rebase-against-rebase-fix' into maint 2010-09-01 13:43:55 -07:00
git-quiltimport.sh
git-rebase--interactive.sh git-rebase--interactive.sh: replace cut with ${v%% *} 2010-09-17 14:58:08 -07:00
git-rebase.sh Merge branch 'mz/rebase-abort-reflog-fix' into maint 2010-12-14 07:35:44 -08:00
git-relink.perl Merge branch 'ab/require-perl-5.8' into maint 2010-12-09 10:35:21 -08:00
git-remote-testgit.py
git-repack.sh Merge branch 'tr/maint-git-repack-tmpfile' into maint 2010-11-24 12:47:10 -08:00
git-request-pull.sh
git-send-email.perl Merge branch 'ab/require-perl-5.8' into maint 2010-12-09 10:35:21 -08:00
git-sh-setup.sh get_author_ident_from_commit(): remove useless quoting 2010-09-27 10:49:49 -07:00
git-stash.sh shell portability: no "export VAR=VAL" 2010-10-13 11:36:36 -07:00
git-submodule.sh submodule sync: Update "submodule.<name>.url" for empty directories 2010-10-13 18:31:45 -07:00
git-svn.perl Merge branch 'ab/require-perl-5.8' into maint 2010-12-09 10:35:21 -08:00
GIT-VERSION-GEN Git 1.7.3.5 2011-01-05 14:49:19 -08:00
git-web--browse.sh
git.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
git.spec.in
graph.c Merge branch 'maint' 2010-08-22 20:18:37 -07:00
graph.h
grep.c
grep.h
hash.c
hash.h
help.c
help.h builtin.h: Move two functions definitions to help.h. 2010-09-01 08:00:51 -07:00
hex.c
http-backend.c http-backend: use end_url_with_slash() 2010-11-26 14:50:45 -08:00
http-fetch.c http-fetch: rework url handling 2010-11-26 14:50:46 -08:00
http-push.c http-push: add trailing slash at arg-parse time, instead of later on 2010-11-26 14:50:46 -08:00
http-walker.c
http.c Merge branch 'tc/http-urls-ends-with-slash' into maint 2010-12-14 07:36:10 -08:00
http.h shift end_url_with_slash() from http.[ch] to url.[ch] 2010-11-26 14:50:45 -08:00
ident.c ident: die on bogus date format 2010-12-20 10:28:19 -08:00
imap-send.c
INSTALL perl: bump the required Perl version to 5.8 from 5.6.[21] 2010-09-27 12:37:41 -07:00
levenshtein.c
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c
ll-merge.h
lockfile.c
log-tree.c
log-tree.h
mailmap.c mailmap: fix use of freed memory 2010-10-13 19:11:26 -07:00
mailmap.h
Makefile Merge branch 'jc/maint-no-openssl-build-fix' into maint 2010-12-14 07:50:20 -08:00
match-trees.c
merge-file.c
merge-recursive.c Merge branch 'ks/recursive-rename-add-identical' 2010-09-15 12:39:12 -07:00
merge-recursive.h Merge branch 'dg/local-mod-error-messages' 2010-09-03 22:23:49 -07:00
name-hash.c
notes-cache.c
notes-cache.h
notes.c notes: Don't create (empty) commit when removing non-existing notes 2010-08-31 11:07:34 -07:00
notes.h notes: Don't create (empty) commit when removing non-existing notes 2010-08-31 11:07:34 -07:00
object.c Merge branch 'maint' 2010-09-06 00:12:04 -07:00
object.h object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
pack-check.c Typos in code comments, an error message, documentation 2010-08-22 13:25:08 -07:00
pack-refs.c
pack-refs.h
pack-revindex.c
pack-revindex.h
pack-write.c
pack.h
pager.c
parse-options.c
parse-options.h parse-options: clarify PARSE_OPT_NOARG description 2010-08-24 10:37:39 -07:00
patch-delta.c
patch-ids.c
patch-ids.h
path.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
pkt-line.c
pkt-line.h
preload-index.c
pretty.c
progress.c
progress.h
quote.c
quote.h
reachable.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
reachable.h
read-cache.c
README
reflog-walk.c Merge branch 'jk/maint-reflog-bottom' into maint 2010-12-14 07:35:50 -08:00
reflog-walk.h
refs.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
refs.h
RelNotes Prepare for 1.7.3.5 2010-12-28 13:48:54 -08:00
remote-curl.c Merge branch 'sp/fix-smart-http-deadlock-on-error' into maint 2010-08-18 16:30:11 -07:00
remote.c
remote.h
replace_object.c
rerere.c Merge branch 'jn/merge-renormalize' 2010-09-03 09:43:41 -07:00
rerere.h
resolve-undo.c
resolve-undo.h
revision.c Merge branch 'jk/maint-reflog-bottom' into maint 2010-12-14 07:35:50 -08:00
revision.h
run-command.c
run-command.h
send-pack.h
server-info.c
setup.c prefix_filename(): safely handle the case where pfx_len=0 2010-10-18 16:10:55 -07:00
sha1-lookup.c
sha1-lookup.h
sha1_file.c
sha1_name.c Merge branch 'ks/no-textconv-symlink' into maint 2010-12-02 11:26:24 -08:00
shallow.c object.h: Add OBJECT_ARRAY_INIT macro and make use of it. 2010-08-29 22:42:49 -07:00
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
sigchain.c
sigchain.h
strbuf.c
strbuf.h strbuf.h: fix comment typo 2010-09-27 10:42:11 -07:00
string-list.c
string-list.h
submodule.c Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
submodule.h Merge branch 'hv/submodule-find-ff-merge' 2010-08-21 23:27:59 -07:00
symlinks.c do not overwrite files in leading path 2010-12-14 08:55:12 -08:00
tag.c tag: recognize rfc1991 signatures 2010-11-10 09:40:35 -08:00
tag.h verify-tag: factor out signature detection 2010-11-10 09:39:56 -08:00
tar.h
test-chmtime.c
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-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-svn-fe.c
test-treap.c
thread-utils.c
thread-utils.h
trace.c trace.c: mark file-local function static 2010-12-17 13:40:32 -08:00
transport-helper.c
transport.c
transport.h
tree-diff.c
tree-walk.c
tree-walk.h Merge branch 'maint' 2010-08-26 16:42:59 -07:00
tree.c
tree.h
unimplemented.sh
unpack-trees.c use persistent memory for rejected paths 2010-12-14 08:55:13 -08:00
unpack-trees.h use persistent memory for rejected paths 2010-12-14 08:55:13 -08:00
upload-pack.c Use angles for placeholders consistently 2010-10-08 12:29:52 -07:00
url.c url: add str wrapper for end_url_with_slash() 2010-11-26 14:50:45 -08:00
url.h url: add str wrapper for end_url_with_slash() 2010-11-26 14:50:45 -08:00
usage.c
userdiff.c userdiff: fix typo in ruby and python word regexes 2010-12-18 22:58:40 -08:00
userdiff.h
utf8.c
utf8.h
walker.c
walker.h
wrap-for-bin.sh
wrapper.c xmalloc: include size in the failure message 2010-08-20 09:27:38 -07:00
write_or_die.c
ws.c diff: handle lines containing only whitespace and tabs better 2010-10-20 16:10:15 -07:00
wt-status.c status: Quote paths with spaces in short format 2010-11-09 07:35:16 -08:00
wt-status.h
xdiff-interface.c Merge branch 'rs/maint-diff-fd-leak' into maint 2010-12-26 11:18:39 -08:00
xdiff-interface.h

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

	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.