Merge branch 'maint'
* maint: git-shortlog: Fix two formatting errors in asciidoc documentation Fix overwriting of files when applying contextually independent diffs git-svn: don't allow globs to match regular filesmaint
commit
6fb8e8f401
|
@ -59,3 +59,7 @@ Fixes since v1.5.1
|
||||||
|
|
||||||
- git-svn dcommit and rebase was confused by patches that were
|
- git-svn dcommit and rebase was confused by patches that were
|
||||||
merged from another branch that is managed by git-svn.
|
merged from another branch that is managed by git-svn.
|
||||||
|
|
||||||
|
- git-svn used to get confused when globbing remote branch/tag
|
||||||
|
spec (e.g. "branches = proj/branches/*:refs/remotes/origin/*")
|
||||||
|
is used and there was a plain file that matched the glob.
|
||||||
|
|
|
@ -7,6 +7,7 @@ git-shortlog - Summarize 'git log' output
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
|
[verse]
|
||||||
git-log --pretty=short | 'git-shortlog' [-h] [-n] [-s]
|
git-log --pretty=short | 'git-shortlog' [-h] [-n] [-s]
|
||||||
git-shortlog [-n|--number] [-s|--summary] [<committish>...]
|
git-shortlog [-n|--number] [-s|--summary] [<committish>...]
|
||||||
|
|
||||||
|
@ -33,7 +34,8 @@ OPTIONS
|
||||||
|
|
||||||
FILES
|
FILES
|
||||||
-----
|
-----
|
||||||
'.mailmap'::
|
|
||||||
|
.mailmap::
|
||||||
If this file exists, it will be used for mapping author email
|
If this file exists, it will be used for mapping author email
|
||||||
addresses to a real author name. One mapping per line, first
|
addresses to a real author name. One mapping per line, first
|
||||||
the author name followed by the email address enclosed by
|
the author name followed by the email address enclosed by
|
||||||
|
|
|
@ -2416,8 +2416,7 @@ static void create_one_file(char *path, unsigned mode, const char *buf, unsigned
|
||||||
* used to be.
|
* used to be.
|
||||||
*/
|
*/
|
||||||
struct stat st;
|
struct stat st;
|
||||||
errno = 0;
|
if (!lstat(path, &st) && (!S_ISDIR(st.st_mode) || !rmdir(path)))
|
||||||
if (!lstat(path, &st) && S_ISDIR(st.st_mode) && !rmdir(path))
|
|
||||||
errno = EEXIST;
|
errno = EEXIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3162,6 +3162,8 @@ sub match_globs {
|
||||||
my $p = $1;
|
my $p = $1;
|
||||||
my $pathname = $g->{path}->full_path($p);
|
my $pathname = $g->{path}->full_path($p);
|
||||||
next if $exists->{$pathname};
|
next if $exists->{$pathname};
|
||||||
|
next if ($self->check_path($pathname, $r) !=
|
||||||
|
$SVN::Node::dir);
|
||||||
$exists->{$pathname} = Git::SVN->init(
|
$exists->{$pathname} = Git::SVN->init(
|
||||||
$self->{url}, $pathname, undef,
|
$self->{url}, $pathname, undef,
|
||||||
$g->{ref}->full_path($p), 1);
|
$g->{ref}->full_path($p), 1);
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='git-apply for contextually independent diffs'
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
echo '1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8' >file
|
||||||
|
|
||||||
|
test_expect_success 'setup' \
|
||||||
|
'git add file &&
|
||||||
|
git commit -q -m 1 &&
|
||||||
|
git checkout -b test &&
|
||||||
|
mv file file.tmp &&
|
||||||
|
echo 0 >file &&
|
||||||
|
cat file.tmp >>file &&
|
||||||
|
rm file.tmp &&
|
||||||
|
git commit -a -q -m 2 &&
|
||||||
|
echo 9 >>file &&
|
||||||
|
git commit -a -q -m 3 &&
|
||||||
|
git checkout master'
|
||||||
|
|
||||||
|
test_expect_success \
|
||||||
|
'check if contextually independent diffs for the same file apply' \
|
||||||
|
'( git diff test~2 test~1; git diff test~1 test~0 )| git apply'
|
||||||
|
|
||||||
|
test_done
|
||||||
|
|
Loading…
Reference in New Issue