Merge branch 'maint'

* maint:
  Start preparing for 1.5.3.6
  git-send-email: Change the prompt for the subject of the initial message.
  SubmittingPatches: improve the 'Patch:' section of the checklist
  instaweb: Minor cleanups and fixes for potential problems
  stop t1400 hiding errors in tests
  Makefile: add missing dependency on wt-status.h
  refresh_index_quietly(): express "optional" nature of index writing better
  Fix sed string regex escaping in module_name.
  Avoid a few unportable, needlessly nested "...`...".
  git-mailsplit: with maildirs not only process cur/, but also new/

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2007-11-09 00:21:44 -08:00
commit 5d4138a66d
11 changed files with 69 additions and 47 deletions

View File

@ -0,0 +1,21 @@
GIT v1.5.3.6 Release Notes
==========================
Fixes since v1.5.3.5
--------------------
* git-cvsexportcommit handles root commits better;
* git-svn dcommit used to clobber when sending a series of
patches;
* git-grep sometimes refused to work when your index was
unmerged;
* Quite a lot of documentation clarifications.
--
exec >/var/tmp/1
O=v1.5.3.5-32-gcb6c162
echo O=`git describe refs/heads/maint`
git shortlog --no-merges $O..refs/heads/maint

View File

@ -20,9 +20,6 @@ Checklist (and a short version for the impatient):
Patch: Patch:
- use "git format-patch -M" to create the patch - use "git format-patch -M" to create the patch
- send your patch to <git@vger.kernel.org>. If you use
git-send-email(1), please test it first by sending
email to yourself.
- do not PGP sign your patch - do not PGP sign your patch
- do not attach your patch, but read in the mail - do not attach your patch, but read in the mail
body, unless you cannot teach your mailer to body, unless you cannot teach your mailer to
@ -31,13 +28,15 @@ Checklist (and a short version for the impatient):
corrupt whitespaces. corrupt whitespaces.
- provide additional information (which is unsuitable for - provide additional information (which is unsuitable for
the commit message) between the "---" and the diffstat the commit message) between the "---" and the diffstat
- send the patch to the list (git@vger.kernel.org) and the
maintainer (gitster@pobox.com).
- if you change, add, or remove a command line option or - if you change, add, or remove a command line option or
make some other user interface change, the associated make some other user interface change, the associated
documentation should be updated as well. documentation should be updated as well.
- if your name is not writable in ASCII, make sure that - if your name is not writable in ASCII, make sure that
you send off a message in the correct encoding. you send off a message in the correct encoding.
- send the patch to the list (git@vger.kernel.org) and the
maintainer (gitster@pobox.com). If you use
git-send-email(1), please test it first by sending
email to yourself.
Long version: Long version:

View File

@ -922,6 +922,7 @@ git-http-push$X: revision.o http.o http-push.o $(GITLIBS)
$(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H) $(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H)
$(patsubst git-%$X,%.o,$(PROGRAMS)): $(LIB_H) $(wildcard */*.h) $(patsubst git-%$X,%.o,$(PROGRAMS)): $(LIB_H) $(wildcard */*.h)
builtin-revert.o builtin-runstatus.o wt-status.o: wt-status.h
$(LIB_FILE): $(LIB_OBJS) $(LIB_FILE): $(LIB_OBJS)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS) $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)

View File

@ -200,15 +200,11 @@ static void refresh_index_quietly(void)
discard_cache(); discard_cache();
read_cache(); read_cache();
refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED); refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED);
if (active_cache_changed) {
if (write_cache(fd, active_cache, active_nr) || if (active_cache_changed &&
close(fd) || !write_cache(fd, active_cache, active_nr) && !close(fd))
commit_locked_index(lock_file)) commit_locked_index(lock_file);
; /*
* silently ignore it -- we haven't mucked
* with the real index.
*/
}
rollback_lock_file(lock_file); rollback_lock_file(lock_file);
} }

View File

@ -101,20 +101,29 @@ static int populate_maildir_list(struct path_list *list, const char *path)
{ {
DIR *dir; DIR *dir;
struct dirent *dent; struct dirent *dent;
char name[PATH_MAX];
char *subs[] = { "cur", "new", NULL };
char **sub;
if ((dir = opendir(path)) == NULL) { for (sub = subs; *sub; ++sub) {
error("cannot opendir %s (%s)", path, strerror(errno)); snprintf(name, sizeof(name), "%s/%s", path, *sub);
return -1; if ((dir = opendir(name)) == NULL) {
if (errno == ENOENT)
continue;
error("cannot opendir %s (%s)", name, strerror(errno));
return -1;
}
while ((dent = readdir(dir)) != NULL) {
if (dent->d_name[0] == '.')
continue;
snprintf(name, sizeof(name), "%s/%s", *sub, dent->d_name);
path_list_insert(name, list);
}
closedir(dir);
} }
while ((dent = readdir(dir)) != NULL) {
if (dent->d_name[0] == '.')
continue;
path_list_insert(dent->d_name, list);
}
closedir(dir);
return 0; return 0;
} }
@ -122,19 +131,17 @@ static int split_maildir(const char *maildir, const char *dir,
int nr_prec, int skip) int nr_prec, int skip)
{ {
char file[PATH_MAX]; char file[PATH_MAX];
char curdir[PATH_MAX];
char name[PATH_MAX]; char name[PATH_MAX];
int ret = -1; int ret = -1;
int i; int i;
struct path_list list = {NULL, 0, 0, 1}; struct path_list list = {NULL, 0, 0, 1};
snprintf(curdir, sizeof(curdir), "%s/cur", maildir); if (populate_maildir_list(&list, maildir) < 0)
if (populate_maildir_list(&list, curdir) < 0)
goto out; goto out;
for (i = 0; i < list.nr; i++) { for (i = 0; i < list.nr; i++) {
FILE *f; FILE *f;
snprintf(file, sizeof(file), "%s/%s", curdir, list.items[i].path); snprintf(file, sizeof(file), "%s/%s", maildir, list.items[i].path);
f = fopen(file, "r"); f = fopen(file, "r");
if (!f) { if (!f) {
error("cannot open mail %s (%s)", file, strerror(errno)); error("cannot open mail %s (%s)", file, strerror(errno));
@ -152,10 +159,9 @@ static int split_maildir(const char *maildir, const char *dir,
fclose(f); fclose(f);
} }
path_list_clear(&list, 1);
ret = skip; ret = skip;
out: out:
path_list_clear(&list, 1);
return ret; return ret;
} }

View File

@ -15,7 +15,7 @@ browser="`git config --get instaweb.browser`"
port=`git config --get instaweb.port` port=`git config --get instaweb.port`
module_path="`git config --get instaweb.modulepath`" module_path="`git config --get instaweb.modulepath`"
conf=$GIT_DIR/gitweb/httpd.conf conf="$GIT_DIR/gitweb/httpd.conf"
# Defaults: # Defaults:
@ -32,7 +32,7 @@ start_httpd () {
httpd_only="`echo $httpd | cut -f1 -d' '`" httpd_only="`echo $httpd | cut -f1 -d' '`"
if case "$httpd_only" in /*) : ;; *) which $httpd_only >/dev/null;; esac if case "$httpd_only" in /*) : ;; *) which $httpd_only >/dev/null;; esac
then then
$httpd $fqgitdir/gitweb/httpd.conf $httpd "$fqgitdir/gitweb/httpd.conf"
else else
# many httpds are installed in /usr/sbin or /usr/local/sbin # many httpds are installed in /usr/sbin or /usr/local/sbin
# these days and those are not in most users $PATHs # these days and those are not in most users $PATHs
@ -185,14 +185,14 @@ server.pid-file = "$fqgitdir/pid"
cgi.assign = ( ".cgi" => "" ) cgi.assign = ( ".cgi" => "" )
mimetype.assign = ( ".css" => "text/css" ) mimetype.assign = ( ".css" => "text/css" )
EOF EOF
test "$local" = true && echo 'server.bind = "127.0.0.1"' >> "$conf" test x"$local" = xtrue && echo 'server.bind = "127.0.0.1"' >> "$conf"
} }
apache2_conf () { apache2_conf () {
test -z "$module_path" && module_path=/usr/lib/apache2/modules test -z "$module_path" && module_path=/usr/lib/apache2/modules
mkdir -p "$GIT_DIR/gitweb/logs" mkdir -p "$GIT_DIR/gitweb/logs"
bind= bind=
test "$local" = true && bind='127.0.0.1:' test x"$local" = xtrue && bind='127.0.0.1:'
echo 'text/css css' > $fqgitdir/mime.types echo 'text/css css' > $fqgitdir/mime.types
cat > "$conf" <<EOF cat > "$conf" <<EOF
ServerName "git-instaweb" ServerName "git-instaweb"
@ -245,7 +245,7 @@ EOF
} }
script=' script='
s#^\(my\|our\) $projectroot =.*#\1 $projectroot = "'`dirname $fqgitdir`'";# s#^\(my\|our\) $projectroot =.*#\1 $projectroot = "'$(dirname "$fqgitdir")'";#
s#\(my\|our\) $gitbin =.*#\1 $gitbin = "'$GIT_EXEC_PATH'";# s#\(my\|our\) $gitbin =.*#\1 $gitbin = "'$GIT_EXEC_PATH'";#
s#\(my\|our\) $projects_list =.*#\1 $projects_list = $projectroot;# s#\(my\|our\) $projects_list =.*#\1 $projects_list = $projectroot;#
s#\(my\|our\) $git_temp =.*#\1 $git_temp = "'$fqgitdir/gitweb/tmp'";#' s#\(my\|our\) $git_temp =.*#\1 $git_temp = "'$fqgitdir/gitweb/tmp'";#'
@ -265,8 +265,8 @@ gitweb_css () {
EOFGITWEB EOFGITWEB
} }
gitweb_cgi $GIT_DIR/gitweb/gitweb.cgi gitweb_cgi "$GIT_DIR/gitweb/gitweb.cgi"
gitweb_css $GIT_DIR/gitweb/gitweb.css gitweb_css "$GIT_DIR/gitweb/gitweb.css"
case "$httpd" in case "$httpd" in
*lighttpd*) *lighttpd*)
@ -285,6 +285,5 @@ webrick)
esac esac
start_httpd start_httpd
test -z "$browser" && browser=echo
url=http://127.0.0.1:$port url=http://127.0.0.1:$port
$browser $url || echo $url "$browser" $url || echo $url

View File

@ -391,7 +391,7 @@ do
-s|--strategy) -s|--strategy)
case "$#,$1" in case "$#,$1" in
*,*=*) *,*=*)
STRATEGY="-s `expr "z$1" : 'z-[^=]*=\(.*\)'`" ;; STRATEGY="-s "$(expr "z$1" : 'z-[^=]*=\(.*\)') ;;
1,*) 1,*)
usage ;; usage ;;
*) *)

View File

@ -24,13 +24,13 @@ headrev=`git rev-parse --verify "$head"^0` || exit
merge_base=`git merge-base $baserev $headrev` || merge_base=`git merge-base $baserev $headrev` ||
die "fatal: No commits in common between $base and $head" die "fatal: No commits in common between $base and $head"
url="`get_remote_url "$url"`" url=$(get_remote_url "$url")
branch=`git peek-remote "$url" \ branch=$(git peek-remote "$url" \
| sed -n -e "/^$headrev refs.heads./{ | sed -n -e "/^$headrev refs.heads./{
s/^.* refs.heads.// s/^.* refs.heads.//
p p
q q
}"` }")
if [ -z "$branch" ]; then if [ -z "$branch" ]; then
echo "warn: No branch of $url is at:" >&2 echo "warn: No branch of $url is at:" >&2
git log --max-count=1 --pretty='format:warn: %h: %s' $headrev >&2 git log --max-count=1 --pretty='format:warn: %h: %s' $headrev >&2

View File

@ -352,7 +352,7 @@ sub expand_aliases {
if (!defined $initial_subject && $compose) { if (!defined $initial_subject && $compose) {
do { do {
$_ = $term->readline("What subject should the emails start with? ", $_ = $term->readline("What subject should the initial email start with? ",
$initial_subject); $initial_subject);
} while (!defined $_); } while (!defined $_);
$initial_subject = $_; $initial_subject = $_;

View File

@ -73,7 +73,7 @@ resolve_relative_url ()
module_name() module_name()
{ {
# Do we have "submodule.<something>.path = $1" defined in .gitmodules file? # Do we have "submodule.<something>.path = $1" defined in .gitmodules file?
re=$(printf '%s' "$1" | sed -e 's/\([^a-zA-Z0-9_]\)/\\\1/g') re=$(printf '%s' "$1" | sed -e 's/[].[^$\\*]/\\&/g')
name=$( GIT_CONFIG=.gitmodules \ name=$( GIT_CONFIG=.gitmodules \
git config --get-regexp '^submodule\..*\.path$' | git config --get-regexp '^submodule\..*\.path$' |
sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' ) sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' )

View File

@ -205,7 +205,7 @@ test_expect_success \
echo $h_TEST >.git/MERGE_HEAD && echo $h_TEST >.git/MERGE_HEAD &&
GIT_AUTHOR_DATE="2005-05-26 23:45" \ GIT_AUTHOR_DATE="2005-05-26 23:45" \
GIT_COMMITTER_DATE="2005-05-26 23:45" git-commit -F M && GIT_COMMITTER_DATE="2005-05-26 23:45" git-commit -F M &&
h_MERGED=$(git rev-parse --verify HEAD) h_MERGED=$(git rev-parse --verify HEAD) &&
rm -f M' rm -f M'
cat >expect <<EOF cat >expect <<EOF