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.sharedRepositorymaint
commit
447d0cca45
|
@ -4,8 +4,16 @@ GIT v1.5.6.3 Release Notes
|
||||||
Fixes since v1.5.6.2
|
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().
|
* 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
|
* Bash completion script did not notice '--' marker on the command
|
||||||
line and tried the relatively slow "ref completion" even when
|
line and tried the relatively slow "ref completion" even when
|
||||||
completing arguments after one.
|
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
|
tree file for it confused "racy-git avoidance" logic into thinking
|
||||||
that the path is now unchanged.
|
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" had a leftover debugging fprintf().
|
||||||
|
|
||||||
* "git clone -q" was not quiet enough as it used to and gave object count
|
* "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,
|
good thing if the remote side is well packed but otherwise not,
|
||||||
especially for a project that is not really big.
|
especially for a project that is not really big.
|
||||||
|
|
||||||
* The section that describes attributes related to git-archive were placed
|
* "git daemon" used to call syslog() from a signal handler, which
|
||||||
in a wrong place in the gitattributes(5) manual page.
|
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
|
* When "git push" tries to remove a remote ref, and corresponding
|
||||||
tracking ref is missing, we used to report error (i.e. failure to
|
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.
|
MIME multipart mail correctly.
|
||||||
|
|
||||||
Contains other various documentation fixes.
|
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
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ git-mailinfo - Extracts patch and authorship from a single e-mail message
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git mailinfo' [-k] [-u | --encoding=<encoding>] <msg> <patch>
|
'git mailinfo' [-k] [-u | --encoding=<encoding> | -n] <msg> <patch>
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
@ -46,6 +46,9 @@ conversion, even with this flag.
|
||||||
from what is specified by i18n.commitencoding, this flag
|
from what is specified by i18n.commitencoding, this flag
|
||||||
can be used to override it.
|
can be used to override it.
|
||||||
|
|
||||||
|
-n::
|
||||||
|
Disable all charset re-coding of the metadata.
|
||||||
|
|
||||||
<msg>::
|
<msg>::
|
||||||
The commit log message extracted from e-mail, usually
|
The commit log message extracted from e-mail, usually
|
||||||
except the title line which comes from e-mail Subject.
|
except the title line which comes from e-mail Subject.
|
||||||
|
|
|
@ -43,9 +43,10 @@ unreleased) version of git, that is available from 'master'
|
||||||
branch of the `git.git` repository.
|
branch of the `git.git` repository.
|
||||||
Documentation for older releases are available here:
|
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
|
* 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.2.txt[1.5.6.2].
|
||||||
link:RelNotes-1.5.6.1.txt[1.5.6.1].
|
link:RelNotes-1.5.6.1.txt[1.5.6.1].
|
||||||
link:RelNotes-1.5.6.txt[1.5.6].
|
link:RelNotes-1.5.6.txt[1.5.6].
|
||||||
|
|
|
@ -960,7 +960,7 @@ static int mailinfo(FILE *in, FILE *out, int ks, const char *encoding,
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char mailinfo_usage[] =
|
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)
|
int cmd_mailinfo(int argc, const char **argv, const char *prefix)
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,7 +30,8 @@ set_reflog_action am
|
||||||
require_work_tree
|
require_work_tree
|
||||||
cd_to_toplevel
|
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 () {
|
stop_here () {
|
||||||
echo "$1" >"$dotest/next"
|
echo "$1" >"$dotest/next"
|
||||||
|
|
2
path.c
2
path.c
|
@ -272,7 +272,7 @@ int adjust_shared_perm(const char *path)
|
||||||
int tweak = shared_repository;
|
int tweak = shared_repository;
|
||||||
if (!(mode & S_IWUSR))
|
if (!(mode & S_IWUSR))
|
||||||
tweak &= ~0222;
|
tweak &= ~0222;
|
||||||
mode = (mode & ~0777) | tweak;
|
mode |= tweak;
|
||||||
} else {
|
} else {
|
||||||
/* Preserve old PERM_UMASK behaviour */
|
/* Preserve old PERM_UMASK behaviour */
|
||||||
if (mode & S_IWUSR)
|
if (mode & S_IWUSR)
|
||||||
|
|
|
@ -8,6 +8,7 @@ test_expect_success setup '
|
||||||
|
|
||||||
>file &&
|
>file &&
|
||||||
git add file &&
|
git add file &&
|
||||||
|
test_tick &&
|
||||||
git commit -m initial &&
|
git commit -m initial &&
|
||||||
echo >file &&
|
echo >file &&
|
||||||
git add file
|
git add file
|
||||||
|
@ -17,11 +18,11 @@ test_expect_success setup '
|
||||||
test_expect_success 'write-tree should notice unwritable repository' '
|
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
|
test_must_fail git write-tree
|
||||||
)
|
)
|
||||||
status=$?
|
status=$?
|
||||||
chmod 775 .git/objects
|
chmod 775 .git/objects .git/objects/??
|
||||||
(exit $status)
|
(exit $status)
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -29,11 +30,11 @@ test_expect_success 'write-tree should notice unwritable repository' '
|
||||||
test_expect_success 'commit 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
|
test_must_fail git commit -m second
|
||||||
)
|
)
|
||||||
status=$?
|
status=$?
|
||||||
chmod 775 .git/objects
|
chmod 775 .git/objects .git/objects/??
|
||||||
(exit $status)
|
(exit $status)
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -41,12 +42,12 @@ test_expect_success 'commit should notice unwritable repository' '
|
||||||
test_expect_success 'update-index should notice unwritable repository' '
|
test_expect_success 'update-index should notice unwritable repository' '
|
||||||
|
|
||||||
(
|
(
|
||||||
echo a >file &&
|
echo 6O >file &&
|
||||||
chmod a-w .git/objects
|
chmod a-w .git/objects .git/objects/?? &&
|
||||||
test_must_fail git update-index file
|
test_must_fail git update-index file
|
||||||
)
|
)
|
||||||
status=$?
|
status=$?
|
||||||
chmod 775 .git/objects
|
chmod 775 .git/objects .git/objects/??
|
||||||
(exit $status)
|
(exit $status)
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -55,11 +56,11 @@ test_expect_success 'add should notice unwritable repository' '
|
||||||
|
|
||||||
(
|
(
|
||||||
echo b >file &&
|
echo b >file &&
|
||||||
chmod a-w .git/objects
|
chmod a-w .git/objects .git/objects/?? &&
|
||||||
test_must_fail git add file
|
test_must_fail git add file
|
||||||
)
|
)
|
||||||
status=$?
|
status=$?
|
||||||
chmod 775 .git/objects
|
chmod 775 .git/objects .git/objects/??
|
||||||
(exit $status)
|
(exit $status)
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|
|
@ -17,6 +17,29 @@ test_expect_success 'shared = 0400 (faulty permission u-w)' '
|
||||||
test $ret != "0"
|
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' '
|
test_expect_success 'shared=all' '
|
||||||
mkdir sub &&
|
mkdir sub &&
|
||||||
cd sub &&
|
cd sub &&
|
||||||
|
|
Loading…
Reference in New Issue