diff options
author | Junio C Hamano <junkio@cox.net> | 2007-05-21 20:03:53 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-05-21 20:03:53 -0700 |
commit | fbf5df024e9137d446c5a85adeae7e4780365d1b (patch) | |
tree | 69e649ccbf7f457673d2f401956f54b20a7b5f2f | |
parent | 93d496a560cdcd4f72c8dee1b0b2efa324e1c3bb (diff) | |
parent | 523d12e5003eee0c2cb670b51e39d719cd56aacd (diff) | |
download | git-fbf5df024e9137d446c5a85adeae7e4780365d1b.tar.gz git-fbf5df024e9137d446c5a85adeae7e4780365d1b.tar.xz |
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
-rw-r--r-- | Documentation/SubmittingPatches | 13 | ||||
-rw-r--r-- | Documentation/config.txt | 5 | ||||
-rw-r--r-- | Documentation/git-status.txt | 5 | ||||
-rw-r--r-- | daemon.c | 4 | ||||
-rwxr-xr-x | git-cvsserver.perl | 8 | ||||
-rwxr-xr-x | t/t3001-ls-files-others-exclude.sh | 20 | ||||
-rw-r--r-- | wt-status.c | 9 |
7 files changed, 57 insertions, 7 deletions
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 6a4da2ddd..b94d9a816 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -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 diff --git a/Documentation/config.txt b/Documentation/config.txt index ee1c35e8e..179cb177d 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -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 diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index e9e193f00..d7015387b 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -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) diff --git a/git-cvsserver.perl b/git-cvsserver.perl index fcfb99db6..1de517791 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -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"; diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh index db7a847a5..fcfcfbba7 100755 --- a/t/t3001-ls-files-others-exclude.sh +++ b/t/t3001-ls-files-others-exclude.sh @@ -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 diff --git a/wt-status.c b/wt-status.c index a0559905a..4bfe8f15d 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, 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); } |