Code

builtin-replace: use "usage_msg_opt" to give better error messages
authorChristian Couder <chriscool@tuxfamily.org>
Mon, 2 Feb 2009 05:13:06 +0000 (06:13 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Jun 2009 00:03:40 +0000 (17:03 -0700)
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-replace.c

index 8220d6eb38c8027d50a3980e669fba0f1851c658..fe3a647a36c9a064d32c8bf9d9868da041bd82a2 100644 (file)
@@ -124,30 +124,36 @@ int cmd_replace(int argc, const char **argv, const char *prefix)
        argc = parse_options(argc, argv, prefix, options, git_replace_usage, 0);
 
        if (list && delete)
-               usage_with_options(git_replace_usage, options);
+               usage_msg_opt("-l and -d cannot be used together",
+                             git_replace_usage, options);
 
        if (force && (list || delete))
-               usage_with_options(git_replace_usage, options);
+               usage_msg_opt("-f cannot be used with -d or -l",
+                             git_replace_usage, options);
 
        /* Delete refs */
        if (delete) {
                if (argc < 1)
-                       usage_with_options(git_replace_usage, options);
+                       usage_msg_opt("-d needs at least one argument",
+                                     git_replace_usage, options);
                return for_each_replace_name(argv, delete_replace_ref);
        }
 
        /* Replace object */
        if (!list && argc) {
                if (argc != 2)
-                       usage_with_options(git_replace_usage, options);
+                       usage_msg_opt("bad number of arguments",
+                                     git_replace_usage, options);
                return replace_object(argv[0], argv[1], force);
        }
 
        /* List refs, even if "list" is not set */
        if (argc > 1)
-               usage_with_options(git_replace_usage, options);
+               usage_msg_opt("only one pattern can be given with -l",
+                             git_replace_usage, options);
        if (force)
-               usage_with_options(git_replace_usage, options);
+               usage_msg_opt("-f needs some arguments",
+                             git_replace_usage, options);
 
        return list_replace_refs(argv[0]);
 }