Commit fbf5df02 authored by Junio C Hamano's avatar Junio C Hamano

Merge branch 'maint'

* maint:
  git-cvsserver: fix disabling service via per-method config
  git-status: respect core.excludesFile
  SubmittingPatches: mention older C compiler compatibility
  git-daemon: don't ignore pid-file write failure
parents 93d496a5 523d12e5
......@@ -65,6 +65,19 @@ in templates/hooks--pre-commit. To help ensure this does not happen,
run git diff --check on your changes before you commit.
(1a) Try to be nice to older C compilers
We try to support wide range of C compilers to compile
git with. That means that you should not use C99 initializers, even
if a lot of compilers grok it.
Also, variables have to be declared at the beginning of the block
(you can check this with gcc, using the -Wdeclaration-after-statement
option).
Another thing: NULL pointers shall be written as NULL, not as 0.
(2) Generate your patch using git tools out of your commits.
git based diff tools (git, Cogito, and StGIT included) generate
......
......@@ -256,6 +256,11 @@ You probably do not need to adjust this value.
+
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
......
......@@ -42,6 +42,11 @@ mean the same thing and the latter is kept for backward
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
------
......
......@@ -970,8 +970,8 @@ static void store_pid(const char *path)
FILE *f = fopen(path, "w");
if (!f)
die("cannot open pid file %s: %s", path, strerror(errno));
fprintf(f, "%d\n", getpid());
fclose(f);
if (fprintf(f, "%d\n", getpid()) < 0 || fclose(f) != 0)
die("failed to write pid file %s: %s", path, strerror(errno));
}
static int serve(char *listen_addr, int listen_port, struct passwd *pass, gid_t gid)
......
......@@ -192,11 +192,9 @@ sub req_Root
}
}
unless ( ($cfg->{gitcvs}{$state->{method}}{enabled}
and $cfg->{gitcvs}{$state->{method}}{enabled} =~ /^\s*(1|true|yes)\s*$/i)
or ($cfg->{gitcvs}{enabled}
and $cfg->{gitcvs}{enabled} =~ /^\s*(1|true|yes)\s*$/i) )
{
my $enabled = ($cfg->{gitcvs}{$state->{method}}{enabled}
|| $cfg->{gitcvs}{enabled});
unless ($enabled && $enabled =~ /^\s*(1|true|yes)\s*$/i) {
print "E GITCVS emulation needs to be enabled on this repo\n";
print "E the repo config file needs a [gitcvs] section added, and the parameter 'enabled' set to 1\n";
print "E \n";
......
......@@ -79,4 +79,24 @@ test_expect_success \
>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
......@@ -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, NULL);
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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment