X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=show-files.c;h=b1a8e3dd5556b61dd771d32307c6ee5d7150fa43;hb=d9f98eebcd31e123e859a4b8c6506bf3f3c4bad6;hp=0ecb2bd62106a0fdd617ee4c5ba5b50bcda8acd6;hpb=aee461985f52857fa04999b2a988986dd8c84aba;p=git.git diff --git a/show-files.c b/show-files.c index 0ecb2bd6..b1a8e3dd 100644 --- a/show-files.c +++ b/show-files.c @@ -15,6 +15,7 @@ static int show_cached = 0; static int show_others = 0; static int show_ignored = 0; static int show_stage = 0; +static int show_unmerged = 0; static int line_terminator = '\n'; static const char **dir; @@ -112,6 +113,8 @@ static void show_files(void) if (show_cached | show_stage) { for (i = 0; i < active_nr; i++) { struct cache_entry *ce = active_cache[i]; + if (show_unmerged && !ce_stage(ce)) + continue; if (!show_stage) printf("%s%c", ce->name, line_terminator); else @@ -170,12 +173,18 @@ int main(int argc, char **argv) show_stage = 1; continue; } + if (!strcmp(arg, "--unmerged")) { + // There's no point in showing unmerged unless you also show the stage information + show_stage = 1; + show_unmerged = 1; + continue; + } usage("show-files [-z] (--[cached|deleted|others|ignored|stage])*"); } /* With no flags, we default to showing the cached files */ - if (!(show_stage | show_deleted | show_others | show_ignored)) + if (!(show_stage | show_deleted | show_others | show_ignored | show_unmerged)) show_cached = 1; read_cache();