diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 12:43:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 12:43:32 -0700 |
commit | eec8c633c117c83a9fd2be7054b169d3cee5806d (patch) | |
tree | 59c9ea857e563de5e3bb27f0cb6133a6f22c8964 /show-files.c | |
parent | 2fbdd1317480d2f14756d94e41a8eb07442d4841 (diff) | |
download | git-eec8c633c117c83a9fd2be7054b169d3cee5806d.tar.gz |
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.
Diffstat (limited to 'show-files.c')
-rw-r--r-- | show-files.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/show-files.c b/show-files.c index 0ecb2bd621..b1a8e3dd55 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(); |