From: Linus Torvalds Date: Sat, 16 Apr 2005 19:43:32 +0000 (-0700) Subject: Add "--unmerged" flag to "show-files", which does what the name implies. X-Git-Tag: v0.99~864 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=eec8c633c117c83a9fd2be7054b169d3cee5806d;p=git.git Add "--unmerged" flag to "show-files", which does what the name implies. The flag also implies "--stage", since unmerged file information doesn't make sense without the full output. --- 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();