diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2006-09-12 22:45:12 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-12 23:20:17 -0700 |
commit | 2074cb0af339f586cab6e0cdc20c4eadf3ba93e8 (patch) | |
tree | 28109bfd381be45f4a37f14413cf44f612c060ac | |
parent | c91f0d92efb36d7b349f586cafafaf0e6ac3f5b2 (diff) | |
download | git-2074cb0af339f586cab6e0cdc20c4eadf3ba93e8.tar.gz git-2074cb0af339f586cab6e0cdc20c4eadf3ba93e8.tar.xz |
Teach runstatus about --untracked
Actually, teach runstatus what to do if it is not passed; it should not list
the contents of completely untracked directories, but only the name of that
directory (plus a trailing '/').
[jc: with comments by Jeff King to match hide-empty-directories
behaviour of the original.]
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | builtin-runstatus.c | 2 | ||||
-rwxr-xr-x | git-commit.sh | 3 | ||||
-rw-r--r-- | wt-status.c | 5 | ||||
-rw-r--r-- | wt-status.h | 1 |
4 files changed, 10 insertions, 1 deletions
diff --git a/builtin-runstatus.c b/builtin-runstatus.c index 7979d6129..303c556da 100644 --- a/builtin-runstatus.c +++ b/builtin-runstatus.c @@ -25,6 +25,8 @@ int cmd_runstatus(int argc, const char **argv, const char *prefix) } else if (!strcmp(argv[i], "--verbose")) s.verbose = 1; + else if (!strcmp(argv[i], "--untracked")) + s.untracked = 1; else usage(runstatus_usage); } diff --git a/git-commit.sh b/git-commit.sh index 10c269a8d..5a4c659b6 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -82,7 +82,8 @@ run_status () { esac git-runstatus ${color} \ ${verbose:+--verbose} \ - ${amend:+--amend} + ${amend:+--amend} \ + ${untracked_files:+--untracked} } trap ' diff --git a/wt-status.c b/wt-status.c index ec2c7286b..c644331b1 100644 --- a/wt-status.c +++ b/wt-status.c @@ -50,6 +50,7 @@ void wt_status_prepare(struct wt_status *s) s->amend = 0; s->verbose = 0; s->commitable = 0; + s->untracked = 0; } static void wt_status_print_header(const char *main, const char *sub) @@ -188,6 +189,10 @@ static void wt_status_print_untracked(const struct wt_status *s) memset(&dir, 0, sizeof(dir)); dir.exclude_per_dir = ".gitignore"; + if (!s->untracked) { + dir.show_other_directories = 1; + dir.hide_empty_directories = 1; + } x = git_path("info/exclude"); if (file_exists(x)) add_excludes_from_file(&dir, x); diff --git a/wt-status.h b/wt-status.h index 75d3cfef9..0a5a5b7ba 100644 --- a/wt-status.h +++ b/wt-status.h @@ -15,6 +15,7 @@ struct wt_status { int commitable; int verbose; int amend; + int untracked; }; int git_status_config(const char *var, const char *value); |