builtin-replace: use "usage_msg_opt" to give better error messages

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Christian Couder 2009-02-02 06:13:06 +01:00 committed by Junio C Hamano
parent 451bb210f8
commit 86af2caa5a

View 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); argc = parse_options(argc, argv, prefix, options, git_replace_usage, 0);
if (list && delete) 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)) 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 */ /* Delete refs */
if (delete) { if (delete) {
if (argc < 1) 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); return for_each_replace_name(argv, delete_replace_ref);
} }
/* Replace object */ /* Replace object */
if (!list && argc) { if (!list && argc) {
if (argc != 2) 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); return replace_object(argv[0], argv[1], force);
} }
/* List refs, even if "list" is not set */ /* List refs, even if "list" is not set */
if (argc > 1) 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) 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]); return list_replace_refs(argv[0]);
} }