]> Pileus Git - ~andy/git/commitdiff
diff: avoid some nesting
authorThomas Gummerer <t.gummerer@gmail.com>
Mon, 16 Dec 2013 20:19:24 +0000 (21:19 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Dec 2013 21:13:05 +0000 (13:13 -0800)
Avoid some nesting in builtin/diff.c, to make the code easier to read.
There are no functional changes.

Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/diff.c

index ea1dd65a2f17e257c195aa561400ed04fd0ef636..24d6271625d02b5aba877ac17b13daf36f5db0aa 100644 (file)
@@ -319,27 +319,26 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
 
        init_revisions(&rev, prefix);
 
-       if (no_index) {
-               if (argc != i + 2) {
-                       if (no_index == DIFF_NO_INDEX_IMPLICIT) {
-                               /*
-                                * There was no --no-index and there were not two
-                                * paths. It is possible that the user intended
-                                * to do an inside-repository operation.
-                                */
-                               fprintf(stderr, "Not a git repository\n");
-                               fprintf(stderr,
-                                       "To compare two paths outside a working tree:\n");
-                       }
-                       /* Give the usage message for non-repository usage and exit. */
-                       usagef("git diff %s <path> <path>",
-                              no_index == DIFF_NO_INDEX_EXPLICIT ?
-                                       "--no-index" : "[--no-index]");
-
+       if (no_index && argc != i + 2) {
+               if (no_index == DIFF_NO_INDEX_IMPLICIT) {
+                       /*
+                        * There was no --no-index and there were not two
+                        * paths. It is possible that the user intended
+                        * to do an inside-repository operation.
+                        */
+                       fprintf(stderr, "Not a git repository\n");
+                       fprintf(stderr,
+                               "To compare two paths outside a working tree:\n");
                }
+               /* Give the usage message for non-repository usage and exit. */
+               usagef("git diff %s <path> <path>",
+                      no_index == DIFF_NO_INDEX_EXPLICIT ?
+                      "--no-index" : "[--no-index]");
+
+       }
+       if (no_index)
                /* If this is a no-index diff, just run it and exit there. */
                diff_no_index(&rev, argc, argv, prefix);
-       }
 
        /* Otherwise, we are doing the usual "git" diff */
        rev.diffopt.skip_stat_unmatch = !!diff_auto_refresh_index;