1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-24 16:36:21 +02:00

Merge branch 'maint' to sync with 1.5.6.3

* maint:
  GIT 1.5.6.3
  git-am: Do not exit silently if committer is unset
  t0004: fix timing bug
  git-mailinfo: document the -n option
  Fix backwards-incompatible handling of core.sharedRepository
This commit is contained in:
Junio C Hamano 2008-07-13 15:45:38 -07:00
commit 447d0cca45
8 changed files with 61 additions and 22 deletions

View File

@ -4,8 +4,16 @@ GIT v1.5.6.3 Release Notes
Fixes since v1.5.6.2
--------------------
* Setting core.sharerepository to traditional "true" value was supposed to make
the repository group writable but should not affect permission for others.
However, since 1.5.6, it was broken to drop permission for others when umask is
022, making the repository unreadable by others.
* Setting GIT_TRACE will report spawning of external process via run_command().
* Using an object with very deep delta chain pinned memory needed for extracting
intermediate base objects unnecessarily long, leading to excess memory usage.
* Bash completion script did not notice '--' marker on the command
line and tried the relatively slow "ref completion" even when
completing arguments after one.
@ -14,6 +22,12 @@ Fixes since v1.5.6.2
tree file for it confused "racy-git avoidance" logic into thinking
that the path is now unchanged.
* The section that describes attributes related to git-archive were placed
in a wrong place in the gitattributes(5) manual page.
* "git am" was not helpful to the users when it detected that the committer
information is not set up properly yet.
* "git clone" had a leftover debugging fprintf().
* "git clone -q" was not quiet enough as it used to and gave object count
@ -23,8 +37,10 @@ Fixes since v1.5.6.2
good thing if the remote side is well packed but otherwise not,
especially for a project that is not really big.
* The section that describes attributes related to git-archive were placed
in a wrong place in the gitattributes(5) manual page.
* "git daemon" used to call syslog() from a signal handler, which
could raise signals of its own but generally is not reentrant. This
was fixed by restructuring the code to report syslog() after the handler
returns.
* When "git push" tries to remove a remote ref, and corresponding
tracking ref is missing, we used to report error (i.e. failure to
@ -34,9 +50,3 @@ Fixes since v1.5.6.2
MIME multipart mail correctly.
Contains other various documentation fixes.
--
exec >/var/tmp/1
O=v1.5.6.2-23-ge965647
echo O=$(git describe maint)
git shortlog --no-merges $O..maint

View File

@ -8,7 +8,7 @@ git-mailinfo - Extracts patch and authorship from a single e-mail message
SYNOPSIS
--------
'git mailinfo' [-k] [-u | --encoding=<encoding>] <msg> <patch>
'git mailinfo' [-k] [-u | --encoding=<encoding> | -n] <msg> <patch>
DESCRIPTION
@ -46,6 +46,9 @@ conversion, even with this flag.
from what is specified by i18n.commitencoding, this flag
can be used to override it.
-n::
Disable all charset re-coding of the metadata.
<msg>::
The commit log message extracted from e-mail, usually
except the title line which comes from e-mail Subject.

View File

@ -43,9 +43,10 @@ unreleased) version of git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
* link:v1.5.6.2/git.html[documentation for release 1.5.6.2]
* link:v1.5.6.3/git.html[documentation for release 1.5.6.3]
* release notes for
link:RelNotes-1.5.6.3.txt[1.5.6.3].
link:RelNotes-1.5.6.2.txt[1.5.6.2].
link:RelNotes-1.5.6.1.txt[1.5.6.1].
link:RelNotes-1.5.6.txt[1.5.6].

View File

@ -960,7 +960,7 @@ static int mailinfo(FILE *in, FILE *out, int ks, const char *encoding,
}
static const char mailinfo_usage[] =
"git-mailinfo [-k] [-u | --encoding=<encoding>] msg patch <mail >info";
"git-mailinfo [-k] [-u | --encoding=<encoding> | -n] msg patch <mail >info";
int cmd_mailinfo(int argc, const char **argv, const char *prefix)
{

View File

@ -30,7 +30,8 @@ set_reflog_action am
require_work_tree
cd_to_toplevel
git var GIT_COMMITTER_IDENT >/dev/null || exit
git var GIT_COMMITTER_IDENT >/dev/null ||
die "You need to set your committer info first"
stop_here () {
echo "$1" >"$dotest/next"

2
path.c
View File

@ -272,7 +272,7 @@ int adjust_shared_perm(const char *path)
int tweak = shared_repository;
if (!(mode & S_IWUSR))
tweak &= ~0222;
mode = (mode & ~0777) | tweak;
mode |= tweak;
} else {
/* Preserve old PERM_UMASK behaviour */
if (mode & S_IWUSR)

View File

@ -8,6 +8,7 @@ test_expect_success setup '
>file &&
git add file &&
test_tick &&
git commit -m initial &&
echo >file &&
git add file
@ -17,11 +18,11 @@ test_expect_success setup '
test_expect_success 'write-tree should notice unwritable repository' '
(
chmod a-w .git/objects
chmod a-w .git/objects .git/objects/?? &&
test_must_fail git write-tree
)
status=$?
chmod 775 .git/objects
chmod 775 .git/objects .git/objects/??
(exit $status)
'
@ -29,11 +30,11 @@ test_expect_success 'write-tree should notice unwritable repository' '
test_expect_success 'commit should notice unwritable repository' '
(
chmod a-w .git/objects
chmod a-w .git/objects .git/objects/?? &&
test_must_fail git commit -m second
)
status=$?
chmod 775 .git/objects
chmod 775 .git/objects .git/objects/??
(exit $status)
'
@ -41,12 +42,12 @@ test_expect_success 'commit should notice unwritable repository' '
test_expect_success 'update-index should notice unwritable repository' '
(
echo a >file &&
chmod a-w .git/objects
echo 6O >file &&
chmod a-w .git/objects .git/objects/?? &&
test_must_fail git update-index file
)
status=$?
chmod 775 .git/objects
chmod 775 .git/objects .git/objects/??
(exit $status)
'
@ -55,11 +56,11 @@ test_expect_success 'add should notice unwritable repository' '
(
echo b >file &&
chmod a-w .git/objects
chmod a-w .git/objects .git/objects/?? &&
test_must_fail git add file
)
status=$?
chmod 775 .git/objects
chmod 775 .git/objects .git/objects/??
(exit $status)
'

View File

@ -17,6 +17,29 @@ test_expect_success 'shared = 0400 (faulty permission u-w)' '
test $ret != "0"
'
for u in 002 022
do
test_expect_success "shared=1 does not clear bits preset by umask $u" '
mkdir sub && (
cd sub &&
umask $u &&
git init --shared=1 &&
test 1 = "$(git config core.sharedrepository)"
) &&
actual=$(ls -l sub/.git/HEAD)
case "$actual" in
-rw-rw-r--*)
: happy
;;
*)
echo Oops, .git/HEAD is not 0664 but $actual
false
;;
esac
'
rm -rf sub
done
test_expect_success 'shared=all' '
mkdir sub &&
cd sub &&