# [PATCH 4/4] builtin-replace: use "usage_msg_opt" to give better error messages

1 messages from 2009-02-02 to 2009-02-02. Participants: Christian Couder.
Thread: https://gitlist.dev/t/17497

## Christian Couder, 2009-02-02 05:13

Subject: [PATCH 4/4] builtin-replace: use "usage_msg_opt" to give better error messages
Message-ID: <20090202061306.d7eaa24f.chriscool@tuxfamily.org>
URL: https://gitlist.dev/e/20090202061306.d7eaa24f.chriscool%40tuxfamily.org

```
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 builtin-replace.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/builtin-replace.c b/builtin-replace.c
index e3767b9..b15f709 100644
--- a/builtin-replace.c
+++ b/builtin-replace.c
@@ -124,30 +124,36 @@ int cmd_replace(int argc, const char **argv, const char *prefix)
 	argc = parse_options(argc, argv, 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]);
 }
-- 
1.6.1.2.353.g99fdd.dirty

```
