diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-05-22 01:12:17 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-05-21 18:36:02 -0700 |
commit | 0ba956d331e4c14fb1600a62044492c6c27af71a (patch) | |
tree | aae1442e634ac78378d483b22058bbc0c2c12273 /wt-status.c | |
parent | 243bfd33997484ee8ea2450f1910306f7138193b (diff) | |
download | git-0ba956d331e4c14fb1600a62044492c6c27af71a.tar.gz |
git-status: respect core.excludesFile
git-add reads this variable, and honours the contents of that file if that
exists. Match this behaviour in git-status, too.
Noticed by Evan Carroll on IRC.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'wt-status.c')
-rw-r--r-- | wt-status.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/wt-status.c b/wt-status.c index a25632bc87..f053c15ffe 100644 --- a/wt-status.c +++ b/wt-status.c @@ -22,6 +22,7 @@ static const char use_add_rm_msg[] = "use \"git add/rm <file>...\" to update what will be committed"; static const char use_add_to_include_msg[] = "use \"git add <file>...\" to include in what will be committed"; +static const char *excludes_file; static int parse_status_slot(const char *var, int offset) { @@ -259,6 +260,8 @@ static void wt_status_print_untracked(struct wt_status *s) x = git_path("info/exclude"); if (file_exists(x)) add_excludes_from_file(&dir, x); + if (excludes_file && file_exists(excludes_file)) + add_excludes_from_file(&dir, excludes_file); read_directory(&dir, ".", "", 0); for(i = 0; i < dir.nr; i++) { @@ -356,5 +359,11 @@ int git_status_config(const char *k, const char *v) int slot = parse_status_slot(k, 13); color_parse(v, k, wt_status_colors[slot]); } + if (!strcmp(k, "core.excludesfile")) { + if (!v) + die("core.excludesfile without value"); + excludes_file = xstrdup(v); + return 0; + } return git_default_config(k, v); } |