summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 243bfd3)
raw | patch | inline | side by side (parent: 243bfd3)
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Tue, 22 May 2007 00:12:17 +0000 (01:12 +0100) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 22 May 2007 01:36:02 +0000 (18:36 -0700) |
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>
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>
Documentation/config.txt | patch | blob | history | |
Documentation/git-status.txt | patch | blob | history | |
t/t3001-ls-files-others-exclude.sh | patch | blob | history | |
wt-status.c | patch | blob | history |
index a7daa08731715846d68b35c4e9da740e878ed05a..c3fc64acc756e6ecbc7fd8fd27362cb5e0ea2fef 100644 (file)
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
+
Common unit suffixes of 'k', 'm', or 'g' are supported.
+core.excludeFile::
+ In addition to '.gitignore' (per-directory) and
+ '.git/info/exclude', git looks into this file for patterns
+ of files which are not meant to be tracked.
+
alias.*::
Command aliases for the gitlink:git[1] command wrapper - e.g.
after defining "alias.last = cat-file commit HEAD", the invocation
index e9e193f00866f97b341eebc80ef85e6de9ca3727..d7015387b51d88f6bd6e3918b2bd40c4e9529f15 100644 (file)
compatibility) and `color.status.<slot>` configuration variables
to colorize its output.
+As for gitlink:git-add[1], the configuration variable
+'core.excludesfile' can indicate a path to a file containing patterns
+of file names to exclude, in addition to patterns given in
+'info/exclude' and '.gitignore'.
+
Author
------
index db7a847a5dd13ece7a4ec22d795b8407631d7d4c..fcfcfbba7df50b55df7d002bf9745b912cfcae9b 100755 (executable)
>output &&
git diff expect output'
+cat > excludes-file << EOF
+*.[1-8]
+e*
+EOF
+
+git-config core.excludesFile excludes-file
+
+git-runstatus | grep "^# " > output
+
+cat > expect << EOF
+# .gitignore
+# a.6
+# one/
+# output
+# three/
+EOF
+
+test_expect_success 'git-status honours core.excludesfile' \
+ 'diff -u expect output'
+
test_done
diff --git a/wt-status.c b/wt-status.c
index a25632bc87867748016e32a4ba4652918c8705a3..f053c15ffe266d9925379a71781bdacd56fcea26 100644 (file)
--- a/wt-status.c
+++ b/wt-status.c
"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)
{
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++) {
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);
}