Pierre Habouzit 859fdabaed git-checkout: improve error messages, detect ambiguities.
The patch is twofold: it moves the option consistency checks just under
the parse_options call so that it doesn't get in the way of the tree
reference vs. pathspecs desambiguation.

The other part rewrites the way to understand arguments so that when
git-checkout fails it does with an understandable message. Compared to the
previous behavior we now have:

  - a better error message when doing:

        git checkout <blob reference> --

    now complains about the reference not pointing to a tree, instead of
    things like:

        error: pathspec <blob reference> did not match any file(s) known to git.
        error: pathspec '--' did not match any file(s) known to git.

  - a better error message when doing:

        git checkout <path> --

    It now complains about <path> not being a reference instead of the
    completely obscure:

        error: pathspec '--' did not match any file(s) known to git.

  - an error when -- wasn't used, and the first argument is ambiguous
    (i.e. can be interpreted as both ref and as path).

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-07-24 23:24:00 -07:00
2008-07-15 00:08:02 -07:00
2008-07-02 21:57:52 -07:00
2008-07-07 02:17:23 -07:00
2008-07-19 11:25:51 -07:00
2008-06-30 22:45:50 -07:00
2008-07-19 11:17:43 -07:00
2008-07-19 11:17:43 -07:00
2008-07-20 17:53:17 -07:00
2008-07-13 14:12:48 -07:00
2008-07-16 17:22:50 -07:00
2008-07-13 14:12:48 -07:00
2008-07-13 14:12:48 -07:00
2008-07-20 17:16:29 -07:00
2008-07-16 17:22:50 -07:00
2008-07-16 17:22:50 -07:00
2008-07-16 17:22:50 -07:00
2008-03-14 00:16:42 -07:00
2008-07-21 19:11:50 -07:00
2008-07-13 14:12:48 -07:00
2008-07-13 14:12:48 -07:00
2008-07-19 11:28:06 -07:00
2008-07-16 17:22:50 -07:00
2008-07-19 11:28:06 -07:00
2008-07-16 17:22:50 -07:00
2008-07-20 17:21:32 -07:00
2008-07-15 19:09:46 -07:00
2008-07-23 16:57:14 -07:00
2008-07-16 14:03:24 -07:00
2008-07-16 17:10:28 -07:00
2008-07-16 14:03:24 -07:00
2008-05-10 18:14:28 -07:00
2008-02-05 00:46:49 -08:00
2008-07-19 11:25:51 -07:00
2008-03-05 10:32:01 -08:00
2008-02-25 23:57:35 -08:00
2008-07-15 19:09:46 -07:00
2008-07-13 14:12:48 -07:00
2008-07-13 14:12:48 -07:00
2008-07-13 14:12:48 -07:00
2008-07-13 14:12:48 -07:00
2008-07-21 19:41:17 -07:00
2008-07-13 14:12:48 -07:00
2008-07-16 17:22:50 -07:00
2008-07-13 14:12:48 -07:00
2008-07-19 11:28:06 -07:00
2008-05-06 16:50:17 -07:00
2008-07-16 17:22:50 -07:00
2008-07-21 19:11:50 -07:00
2008-07-21 19:11:50 -07:00
2008-07-21 19:11:50 -07:00
2007-12-13 23:04:26 -08:00
2008-02-09 23:16:51 -08:00
2008-02-25 23:57:35 -08:00
2008-07-13 14:12:48 -07:00
2008-06-26 08:47:15 +02:00
2008-07-21 19:11:50 -07:00
2008-07-20 17:21:32 -07:00
2008-07-21 19:11:50 -07:00
2008-07-09 00:19:50 -07:00
2008-07-16 15:55:51 -07:00
2008-07-21 19:11:50 -07:00
2008-07-21 19:11:50 -07:00
2008-07-16 17:10:28 -07:00
2008-07-07 16:42:08 -07:00
2007-11-09 21:14:10 -08:00
2008-07-07 02:17:23 -07:00
2008-07-21 19:11:50 -07:00
2008-07-21 19:11:50 -07:00
2008-07-21 19:11:50 -07:00
2008-03-02 15:11:07 -08:00
2008-07-05 18:33:16 -07:00
2008-07-16 14:03:24 -07:00
2008-07-13 15:15:23 -07:00
2008-03-14 00:16:42 -07: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/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
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.
Description
No description provided
Readme 235 MiB
Languages
C 50.1%
Shell 38.4%
Perl 5.1%
Tcl 3.3%
Python 0.8%
Other 2%