Merge branch 'maint'
* maint: Prepare for 1.6.5.4 merge: do not add standard message when message is given with -m option Do not misidentify "git merge foo HEAD" as an old-style invocation Conflicts: RelNotesmaint
commit
0748494e86
|
@ -0,0 +1,32 @@
|
||||||
|
Git v1.6.5.4 Release Notes
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Fixes since v1.6.5.3
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* "git help" (without argument) used to check if you are in a directory
|
||||||
|
under git control. There was no breakage in behaviour per-se, but this
|
||||||
|
was unnecessary.
|
||||||
|
|
||||||
|
* "git prune-packed" gave progress output even when its standard error is
|
||||||
|
not connected to a terminal; this caused cron jobs that run it to
|
||||||
|
produce crufts.
|
||||||
|
|
||||||
|
* "git pack-objects --all-progress" is an option to ask progress output
|
||||||
|
from write-object phase _if_ progress output were to be produced, and
|
||||||
|
shouldn't have forced the progress output.
|
||||||
|
|
||||||
|
* "git apply -p<n> --directory=<elsewhere>" did not work well for a
|
||||||
|
non-default value of n.
|
||||||
|
|
||||||
|
* "git merge foo HEAD" was misparsed as an old-style invocation of the
|
||||||
|
command and produced a confusing error message. As it does not specify
|
||||||
|
any other branch to merge, it shouldn't be mistaken as such. We will
|
||||||
|
remove the old style "git merge <message> HEAD <commit>..." syntax in
|
||||||
|
future versions, but not in this release,
|
||||||
|
|
||||||
|
* "git merge -m <message> <branch>..." added the standard merge message
|
||||||
|
on its own after user-supplied message, which should have overrided the
|
||||||
|
standard one.
|
||||||
|
|
||||||
|
Other minor documentation updates are included.
|
|
@ -71,7 +71,7 @@ static int option_parse_message(const struct option *opt,
|
||||||
if (unset)
|
if (unset)
|
||||||
strbuf_setlen(buf, 0);
|
strbuf_setlen(buf, 0);
|
||||||
else if (arg) {
|
else if (arg) {
|
||||||
strbuf_addf(buf, "%s\n\n", arg);
|
strbuf_addf(buf, "%s%s", buf->len ? "\n\n" : "", arg);
|
||||||
have_message = 1;
|
have_message = 1;
|
||||||
} else
|
} else
|
||||||
return error("switch `m' requires a value");
|
return error("switch `m' requires a value");
|
||||||
|
@ -804,7 +804,7 @@ static const char deprecation_warning[] =
|
||||||
static struct commit *is_old_style_invocation(int argc, const char **argv)
|
static struct commit *is_old_style_invocation(int argc, const char **argv)
|
||||||
{
|
{
|
||||||
struct commit *second_token = NULL;
|
struct commit *second_token = NULL;
|
||||||
if (argc > 1) {
|
if (argc > 2) {
|
||||||
unsigned char second_sha1[20];
|
unsigned char second_sha1[20];
|
||||||
|
|
||||||
if (get_sha1(argv[1], second_sha1))
|
if (get_sha1(argv[1], second_sha1))
|
||||||
|
@ -943,11 +943,13 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
|
||||||
* codepath so we discard the error in this
|
* codepath so we discard the error in this
|
||||||
* loop.
|
* loop.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < argc; i++)
|
if (!have_message) {
|
||||||
merge_name(argv[i], &msg);
|
for (i = 0; i < argc; i++)
|
||||||
fmt_merge_msg(option_log, &msg, &merge_msg);
|
merge_name(argv[i], &msg);
|
||||||
if (merge_msg.len)
|
fmt_merge_msg(option_log, &msg, &merge_msg);
|
||||||
strbuf_setlen(&merge_msg, merge_msg.len-1);
|
if (merge_msg.len)
|
||||||
|
strbuf_setlen(&merge_msg, merge_msg.len-1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (head_invalid || !argc)
|
if (head_invalid || !argc)
|
||||||
|
|
|
@ -22,15 +22,12 @@ test_expect_success 'setup' '
|
||||||
git tag c2
|
git tag c2
|
||||||
'
|
'
|
||||||
|
|
||||||
cat >expected <<\EOF
|
|
||||||
custom message
|
|
||||||
|
|
||||||
Merge commit 'c2'
|
|
||||||
EOF
|
|
||||||
test_expect_success 'merge c2 with a custom message' '
|
test_expect_success 'merge c2 with a custom message' '
|
||||||
git reset --hard c1 &&
|
git reset --hard c1 &&
|
||||||
|
echo >expected "custom message" &&
|
||||||
git merge -m "custom message" c2 &&
|
git merge -m "custom message" c2 &&
|
||||||
git cat-file commit HEAD | sed -e "1,/^$/d" > actual &&
|
git cat-file commit HEAD | sed -e "1,/^$/d" >actual &&
|
||||||
test_cmp expected actual
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue