Merge branch 'maint'

* maint:
  Update draft release notes to 1.7.1.1
  notes: Initialise variable to appease gcc
  notes: check number of parameters to "git notes copy"
This commit is contained in:
Junio C Hamano 2010-06-28 17:42:26 -07:00
commit 1ba5c532e1
4 changed files with 27 additions and 2 deletions

View file

@ -17,6 +17,13 @@ Fixes since v1.7.1
* We didn't recognize timezone "Z" as a synonym for "UTC" (75b37e70).
* In 1.7.0, read-tree and user commands that use the mechanism such as
checkout and merge were fixed to handle switching between branches one
of which has a file while the other has a directory at the same path
correctly even when there are some "confusing" pathnames in them. But
the algorithm used for this fix was suboptimal and had a terrible
performance degradation especially in larger trees.
* "git am -3" did not show diagnosis when the patch in the message was corrupt.
* After "git apply --whitespace=fix" removed trailing blank lines in an
@ -57,10 +64,15 @@ Fixes since v1.7.1
* "git merge --log" used to replace the custom message given by "-m" with
the shortlog, instead of appending to it.
* "git notes copy" without any other argument segfaulted.
* "git pull" accepted "--dry-run", gave it to underlying "git fetch" but
ignored the option itself, resulting in a bogus attempt to merge
unrelated commit.
* "git rebase" did not faithfully reproduce a malformed author ident, that
is often seen in a repository converted from foreign SCMs.
* "git reset --hard" started from a wrong directory and a working tree in
a nonstandard location is in use got confused.
@ -68,6 +80,9 @@ Fixes since v1.7.1
EHLO/HELO exchange, causing rejected connection from picky servers.
It learned --smtp-domain option to solve this issue.
* "git send-email" did not declare a content-transfer-encoding and
content-type even when its payload needs to be sent in 8-bit.
* "git show -C -C" and other corner cases lost diff metainfo output
in 1.7.0.
@ -83,6 +98,6 @@ And other minor fixes and documentation updates.
--
exec >/var/tmp/1
O=v1.7.1-195-gb2ebbd8
O=v1.7.1-211-g54fcb21
echo O=$(git describe HEAD)
git shortlog --no-merges HEAD ^$O

View file

@ -614,6 +614,10 @@ static int copy(int argc, const char **argv, const char *prefix)
}
}
if (argc < 2) {
error("too few parameters");
usage_with_options(git_notes_copy_usage, options);
}
if (2 < argc) {
error("too many parameters");
usage_with_options(git_notes_copy_usage, options);

View file

@ -716,7 +716,7 @@ static int write_each_non_note_until(const char *note_path,
struct write_each_note_data *d)
{
struct non_note *n = d->next_non_note;
int cmp, ret;
int cmp = 0, ret;
while (n && (!note_path || (cmp = strcmp(n->path, note_path)) <= 0)) {
if (note_path && cmp == 0)
; /* do nothing, prefer note to non-note */

View file

@ -1044,4 +1044,10 @@ test_expect_success 'GIT_NOTES_REWRITE_REF overrides config' '
git log -1 > output &&
test_cmp expect output
'
test_expect_success 'git notes copy diagnoses too many or too few parameters' '
test_must_fail git notes copy &&
test_must_fail git notes copy one two three
'
test_done