зеркало из https://github.com/microsoft/git.git
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:
Коммит
5d4138a66d
|
@ -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
|
|
@ -20,9 +20,6 @@ Checklist (and a short version for the impatient):
|
|||
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 attach your patch, but read in the mail
|
||||
body, unless you cannot teach your mailer to
|
||||
|
@ -31,13 +28,15 @@ Checklist (and a short version for the impatient):
|
|||
corrupt whitespaces.
|
||||
- provide additional information (which is unsuitable for
|
||||
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
|
||||
make some other user interface change, the associated
|
||||
documentation should be updated as well.
|
||||
- if your name is not writable in ASCII, make sure that
|
||||
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:
|
||||
|
||||
|
|
1
Makefile
1
Makefile
|
@ -922,6 +922,7 @@ git-http-push$X: revision.o http.o http-push.o $(GITLIBS)
|
|||
|
||||
$(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_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)
|
||||
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)
|
||||
|
|
|
@ -200,15 +200,11 @@ static void refresh_index_quietly(void)
|
|||
discard_cache();
|
||||
read_cache();
|
||||
refresh_cache(REFRESH_QUIET|REFRESH_UNMERGED);
|
||||
if (active_cache_changed) {
|
||||
if (write_cache(fd, active_cache, active_nr) ||
|
||||
close(fd) ||
|
||||
commit_locked_index(lock_file))
|
||||
; /*
|
||||
* silently ignore it -- we haven't mucked
|
||||
* with the real index.
|
||||
*/
|
||||
}
|
||||
|
||||
if (active_cache_changed &&
|
||||
!write_cache(fd, active_cache, active_nr) && !close(fd))
|
||||
commit_locked_index(lock_file);
|
||||
|
||||
rollback_lock_file(lock_file);
|
||||
}
|
||||
|
||||
|
|
|
@ -101,20 +101,29 @@ static int populate_maildir_list(struct path_list *list, const char *path)
|
|||
{
|
||||
DIR *dir;
|
||||
struct dirent *dent;
|
||||
char name[PATH_MAX];
|
||||
char *subs[] = { "cur", "new", NULL };
|
||||
char **sub;
|
||||
|
||||
if ((dir = opendir(path)) == NULL) {
|
||||
error("cannot opendir %s (%s)", path, strerror(errno));
|
||||
return -1;
|
||||
for (sub = subs; *sub; ++sub) {
|
||||
snprintf(name, sizeof(name), "%s/%s", path, *sub);
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -122,19 +131,17 @@ static int split_maildir(const char *maildir, const char *dir,
|
|||
int nr_prec, int skip)
|
||||
{
|
||||
char file[PATH_MAX];
|
||||
char curdir[PATH_MAX];
|
||||
char name[PATH_MAX];
|
||||
int ret = -1;
|
||||
int i;
|
||||
struct path_list list = {NULL, 0, 0, 1};
|
||||
|
||||
snprintf(curdir, sizeof(curdir), "%s/cur", maildir);
|
||||
if (populate_maildir_list(&list, curdir) < 0)
|
||||
if (populate_maildir_list(&list, maildir) < 0)
|
||||
goto out;
|
||||
|
||||
for (i = 0; i < list.nr; i++) {
|
||||
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");
|
||||
if (!f) {
|
||||
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);
|
||||
}
|
||||
|
||||
path_list_clear(&list, 1);
|
||||
|
||||
ret = skip;
|
||||
out:
|
||||
path_list_clear(&list, 1);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ browser="`git config --get instaweb.browser`"
|
|||
port=`git config --get instaweb.port`
|
||||
module_path="`git config --get instaweb.modulepath`"
|
||||
|
||||
conf=$GIT_DIR/gitweb/httpd.conf
|
||||
conf="$GIT_DIR/gitweb/httpd.conf"
|
||||
|
||||
# Defaults:
|
||||
|
||||
|
@ -32,7 +32,7 @@ start_httpd () {
|
|||
httpd_only="`echo $httpd | cut -f1 -d' '`"
|
||||
if case "$httpd_only" in /*) : ;; *) which $httpd_only >/dev/null;; esac
|
||||
then
|
||||
$httpd $fqgitdir/gitweb/httpd.conf
|
||||
$httpd "$fqgitdir/gitweb/httpd.conf"
|
||||
else
|
||||
# many httpds are installed in /usr/sbin or /usr/local/sbin
|
||||
# these days and those are not in most users $PATHs
|
||||
|
@ -185,14 +185,14 @@ server.pid-file = "$fqgitdir/pid"
|
|||
cgi.assign = ( ".cgi" => "" )
|
||||
mimetype.assign = ( ".css" => "text/css" )
|
||||
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 () {
|
||||
test -z "$module_path" && module_path=/usr/lib/apache2/modules
|
||||
mkdir -p "$GIT_DIR/gitweb/logs"
|
||||
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
|
||||
cat > "$conf" <<EOF
|
||||
ServerName "git-instaweb"
|
||||
|
@ -245,7 +245,7 @@ EOF
|
|||
}
|
||||
|
||||
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\) $projects_list =.*#\1 $projects_list = $projectroot;#
|
||||
s#\(my\|our\) $git_temp =.*#\1 $git_temp = "'$fqgitdir/gitweb/tmp'";#'
|
||||
|
@ -265,8 +265,8 @@ gitweb_css () {
|
|||
EOFGITWEB
|
||||
}
|
||||
|
||||
gitweb_cgi $GIT_DIR/gitweb/gitweb.cgi
|
||||
gitweb_css $GIT_DIR/gitweb/gitweb.css
|
||||
gitweb_cgi "$GIT_DIR/gitweb/gitweb.cgi"
|
||||
gitweb_css "$GIT_DIR/gitweb/gitweb.css"
|
||||
|
||||
case "$httpd" in
|
||||
*lighttpd*)
|
||||
|
@ -285,6 +285,5 @@ webrick)
|
|||
esac
|
||||
|
||||
start_httpd
|
||||
test -z "$browser" && browser=echo
|
||||
url=http://127.0.0.1:$port
|
||||
$browser $url || echo $url
|
||||
"$browser" $url || echo $url
|
||||
|
|
|
@ -391,7 +391,7 @@ do
|
|||
-s|--strategy)
|
||||
case "$#,$1" in
|
||||
*,*=*)
|
||||
STRATEGY="-s `expr "z$1" : 'z-[^=]*=\(.*\)'`" ;;
|
||||
STRATEGY="-s "$(expr "z$1" : 'z-[^=]*=\(.*\)') ;;
|
||||
1,*)
|
||||
usage ;;
|
||||
*)
|
||||
|
|
|
@ -24,13 +24,13 @@ headrev=`git rev-parse --verify "$head"^0` || exit
|
|||
merge_base=`git merge-base $baserev $headrev` ||
|
||||
die "fatal: No commits in common between $base and $head"
|
||||
|
||||
url="`get_remote_url "$url"`"
|
||||
branch=`git peek-remote "$url" \
|
||||
url=$(get_remote_url "$url")
|
||||
branch=$(git peek-remote "$url" \
|
||||
| sed -n -e "/^$headrev refs.heads./{
|
||||
s/^.* refs.heads.//
|
||||
p
|
||||
q
|
||||
}"`
|
||||
}")
|
||||
if [ -z "$branch" ]; then
|
||||
echo "warn: No branch of $url is at:" >&2
|
||||
git log --max-count=1 --pretty='format:warn: %h: %s' $headrev >&2
|
||||
|
|
|
@ -352,7 +352,7 @@ sub expand_aliases {
|
|||
|
||||
if (!defined $initial_subject && $compose) {
|
||||
do {
|
||||
$_ = $term->readline("What subject should the emails start with? ",
|
||||
$_ = $term->readline("What subject should the initial email start with? ",
|
||||
$initial_subject);
|
||||
} while (!defined $_);
|
||||
$initial_subject = $_;
|
||||
|
|
|
@ -73,7 +73,7 @@ resolve_relative_url ()
|
|||
module_name()
|
||||
{
|
||||
# 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 \
|
||||
git config --get-regexp '^submodule\..*\.path$' |
|
||||
sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' )
|
||||
|
|
|
@ -205,7 +205,7 @@ test_expect_success \
|
|||
echo $h_TEST >.git/MERGE_HEAD &&
|
||||
GIT_AUTHOR_DATE="2005-05-26 23:45" \
|
||||
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'
|
||||
|
||||
cat >expect <<EOF
|
||||
|
|
Загрузка…
Ссылка в новой задаче