diff options
author | Thomas Gummerer <t.gummerer@gmail.com> | 2013-12-16 21:19:24 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-12-16 13:13:05 -0800 |
commit | aad90e85f8e6368533aa30c072b8e2bd7adafa53 (patch) | |
tree | e05dda1f4895e681146ac2b2eb7705ac5208c06f | |
parent | 8a19dfa1aa5bbbc6e3ea8553e418ad4f78448cb3 (diff) | |
download | git-aad90e85f8e6368533aa30c072b8e2bd7adafa53.tar.gz |
diff: avoid some nestingtg/diff-no-index-refactor
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>
-rw-r--r-- | builtin/diff.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/builtin/diff.c b/builtin/diff.c index ea1dd65a2f..24d6271625 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -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; |