Merge branch 'mm/die-with-dashdash-help'
authorJunio C Hamano <gitster@pobox.com>
Wed, 22 Aug 2012 18:51:53 +0000 (11:51 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 22 Aug 2012 18:51:53 +0000 (11:51 -0700)
When the user gives an argument that can be taken as both a revision
name and a pathname without disambiguating with "--", we used to
give a help message "Use '--' to separate". The message has been
clarified to show where that '--' goes on the command line.

* mm/die-with-dashdash-help:
setup: clarify error messages for file/revisions ambiguity

1  2 
setup.c
diff --combined setup.c
index 9139beefc75c4fe92cf8c7dc54a9fae972995aca,7663a4cbb2e3d179c3a16d647733da7bf89a3e2d..3a1b2fd45580cad7ecd55efa755872efc81075ad
+++ b/setup.c
@@@ -77,22 -77,27 +77,23 @@@ static void NORETURN die_verify_filenam
                                         const char *arg,
                                         int diagnose_misspelt_rev)
  {
 -      unsigned char sha1[20];
 -      unsigned mode;
 -
        if (!diagnose_misspelt_rev)
                die("%s: no such path in the working tree.\n"
-                   "Use '-- <path>...' to specify paths that do not exist locally.",
+                   "Use 'git <command> -- <path>...' to specify paths that do not exist locally.",
                    arg);
        /*
         * Saying "'(icase)foo' does not exist in the index" when the
         * user gave us ":(icase)foo" is just stupid.  A magic pathspec
         * begins with a colon and is followed by a non-alnum; do not
 -       * let get_sha1_with_mode_1(only_to_die=1) to even trigger.
 +       * let maybe_die_on_misspelt_object_name() even trigger.
         */
        if (!(arg[0] == ':' && !isalnum(arg[1])))
 -              /* try a detailed diagnostic ... */
 -              get_sha1_with_mode_1(arg, sha1, &mode, 1, prefix);
 +              maybe_die_on_misspelt_object_name(arg, prefix);
  
        /* ... or fall back the most general message. */
        die("ambiguous argument '%s': unknown revision or path not in the working tree.\n"
-           "Use '--' to separate paths from revisions", arg);
+           "Use '--' to separate paths from revisions, like this:\n"
+           "'git <command> [<revision>...] -- [<file>...]'", arg);
  
  }
  
@@@ -141,7 -146,8 +142,8 @@@ void verify_non_filename(const char *pr
        if (!check_filename(prefix, arg))
                return;
        die("ambiguous argument '%s': both revision and filename\n"
-           "Use '--' to separate filenames from revisions", arg);
+           "Use '--' to separate paths from revisions, like this:\n"
+           "'git <command> [<revision>...] -- [<file>...]'", arg);
  }
  
  /*