Skip to content

Commit

Permalink
Merge branch 'maint-1.5.1' into maint
Browse files Browse the repository at this point in the history
* maint-1.5.1:
  git-status: respect core.excludesFile
  SubmittingPatches: mention older C compiler compatibility
  git-daemon: don't ignore pid-file write failure
  • Loading branch information
Junio C Hamano committed May 22, 2007
2 parents 7df6ddf + 0ba956d commit f95c678
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 2 deletions.
13 changes: 13 additions & 0 deletions Documentation/SubmittingPatches
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,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
Expand Down
5 changes: 5 additions & 0 deletions Documentation/git-status.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
------
Expand Down
4 changes: 2 additions & 2 deletions daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
20 changes: 20 additions & 0 deletions t/t3001-ls-files-others-exclude.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
9 changes: 9 additions & 0 deletions wt-status.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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++) {
Expand Down Expand Up @@ -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);
}

0 comments on commit f95c678

Please sign in to comment.