summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Pitre <nico@cam.org>2005-04-28 22:06:25 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-28 22:06:25 (GMT)
commitcf9a113d3526c301b380fbd8a5d3b9d74d322c71 (patch)
tree647e7c1fe5b5f56b5e853b8d5d8dffefcc43ced1
parent0cc087e3044a7ce19d276f736d983ad8344162f6 (diff)
downloadgit-cf9a113d3526c301b380fbd8a5d3b9d74d322c71.zip
git-cf9a113d3526c301b380fbd8a5d3b9d74d322c71.tar.gz
git-cf9a113d3526c301b380fbd8a5d3b9d74d322c71.tar.bz2
[PATCH] add short options to show-files
The show-files long options are cumbersome to type. This patch adds equivalent short options. Also add missing "unmerged" to usage string. Finally reduce the number of lines for argument parsing in half. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--show-files.c53
1 files changed, 16 insertions, 37 deletions
diff --git a/show-files.c b/show-files.c
index 9bb8fdb..d4061f8 100644
--- a/show-files.c
+++ b/show-files.c
@@ -206,6 +206,10 @@ static void show_files(void)
}
}
+static const char *show_files_usage =
+ "show-files [-z] (--[cached|deleted|others|stage|unmerged])* "
+ "[ --ignored [--exclude=<pattern>] [--exclude-from=<file>) ]";
+
int main(int argc, char **argv)
{
int i;
@@ -215,55 +219,30 @@ int main(int argc, char **argv)
if (!strcmp(arg, "-z")) {
line_terminator = 0;
- continue;
- }
-
- if (!strcmp(arg, "--cached")) {
+ } else if (!strcmp(arg, "-c") || !strcmp(arg, "--cached")) {
show_cached = 1;
- continue;
- }
- if (!strcmp(arg, "--deleted")) {
+ } else if (!strcmp(arg, "-d") || !strcmp(arg, "--deleted")) {
show_deleted = 1;
- continue;
- }
- if (!strcmp(arg, "--others")) {
+ } else if (!strcmp(arg, "-o") || !strcmp(arg, "--others")) {
show_others = 1;
- continue;
- }
- if (!strcmp(arg, "--ignored")) {
+ } else if (!strcmp(arg, "-i") || !strcmp(arg, "--ignored")) {
show_ignored = 1;
- continue;
- }
- if (!strcmp(arg, "--stage")) {
+ } else if (!strcmp(arg, "-s") || !strcmp(arg, "--stage")) {
show_stage = 1;
- continue;
- }
- if (!strcmp(arg, "--unmerged")) {
+ } else if (!strcmp(arg, "-u") || !strcmp(arg, "--unmerged")) {
// There's no point in showing unmerged unless you also show the stage information
show_stage = 1;
show_unmerged = 1;
- continue;
- }
-
- if (!strcmp(arg, "-x") && i+1 < argc) {
+ } else if (!strcmp(arg, "-x") && i+1 < argc) {
add_exclude(argv[++i]);
- continue;
- }
- if (!strncmp(arg, "--exclude=", 10)) {
+ } else if (!strncmp(arg, "--exclude=", 10)) {
add_exclude(arg+10);
- continue;
- }
- if (!strcmp(arg, "-X") && i+1 < argc) {
+ } else if (!strcmp(arg, "-X") && i+1 < argc) {
add_excludes_from_file(argv[++i]);
- continue;
- }
- if (!strncmp(arg, "--exclude-from=", 15)) {
+ } else if (!strncmp(arg, "--exclude-from=", 15)) {
add_excludes_from_file(arg+15);
- continue;
- }
-
- usage("show-files [-z] (--[cached|deleted|others|stage])* "
- "[ --ignored [--exclude=<pattern>] [--exclude-from=<file>) ]");
+ } else
+ usage(show_files_usage);
}
if (show_ignored && !nr_excludes) {