Code

Add "--flags" and "--no-flags" arguments to git-rev-parse
authorLinus Torvalds <torvalds@g5.osdl.org>
Wed, 6 Jul 2005 17:08:08 +0000 (10:08 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 6 Jul 2005 17:08:08 +0000 (10:08 -0700)
The scripts that use this (notably "git diff") will want to split up
flags and file arguments.

rev-parse.c

index d62efdaf2d50684510dc696b2b71858036b0ea0b..4c307cd801b5c6f104e5dd517de6a3605bd94213 100644 (file)
@@ -13,6 +13,8 @@ static int single_rev = 0;
 static int revs_only = 0;
 static int do_rev_argument = 1;
 static int output_revs = 0;
+static int flags_only = 0;
+static int no_flags = 0;
 
 #define NORMAL 0
 #define REVERSED 1
@@ -64,6 +66,8 @@ static void show_rev_arg(char *rev)
 
 static void show_norev(char *norev)
 {
+       if (flags_only)
+               return;
        if (revs_only)
                return;
        puts(norev);
@@ -71,6 +75,8 @@ static void show_norev(char *norev)
 
 static void show_arg(char *arg)
 {
+       if (no_flags)
+               return;
        if (do_rev_argument && is_rev_argument(arg))
                show_rev_arg(arg);
        else
@@ -304,6 +310,14 @@ int main(int argc, char **argv)
                                no_revs = 1;
                                continue;
                        }
+                       if (!strcmp(arg, "--flags")) {
+                               flags_only = 1;
+                               continue;
+                       }
+                       if (!strcmp(arg, "--no-flags")) {
+                               no_flags = 1;
+                               continue;
+                       }
                        if (!strcmp(arg, "--verify")) {
                                revs_only = 1;
                                do_rev_argument = 0;