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
This commit is contained in:
Junio C Hamano 2007-05-21 20:03:53 -07:00
commit fbf5df024e
7 changed files with 57 additions and 7 deletions

View File

@ -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

View File

@ -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

View File

@ -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
------

View File

@ -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)

View File

@ -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";

View File

@ -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

View File

@ -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);
}