Skip to content

Commit

Permalink
Merge git://bogomips.org/git-svn
Browse files Browse the repository at this point in the history
* git://bogomips.org/git-svn:
  svn test: escape peg revision separator using empty peg rev
  git svn: work around SVN 1.7 mishandling of svn:special changes
  • Loading branch information
Junio C Hamano committed Oct 10, 2012
2 parents 1266686 + 44bc5ac commit d5e7c0c
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 2 deletions.
25 changes: 24 additions & 1 deletion perl/Git/SVN/Editor.pm
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,30 @@ sub M {
$self->close_file($fbat,undef,$self->{pool});
}

sub T { shift->M(@_) }
sub T {
my ($self, $m, $deletions) = @_;

# Work around subversion issue 4091: toggling the "is a
# symlink" property requires removing and re-adding a
# file or else "svn up" on affected clients trips an
# assertion and aborts.
if (($m->{mode_b} =~ /^120/ && $m->{mode_a} !~ /^120/) ||
($m->{mode_b} !~ /^120/ && $m->{mode_a} =~ /^120/)) {
$self->D({
mode_a => $m->{mode_a}, mode_b => '000000',
sha1_a => $m->{sha1_a}, sha1_b => '0' x 40,
chg => 'D', file_b => $m->{file_b}
});
$self->A({
mode_a => '000000', mode_b => $m->{mode_b},
sha1_a => '0' x 40, sha1_b => $m->{sha1_b},
chg => 'A', file_b => $m->{file_b}
});
return;
}

$self->M($m, $deletions);
}

sub change_file_prop {
my ($self, $fbat, $pname, $pval) = @_;
Expand Down
2 changes: 1 addition & 1 deletion t/t9118-git-svn-funky-branch-names.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ test_expect_success 'setup svnrepo' '
svn_cmd cp -m "trailing .lock" "$svnrepo/pr ject/trunk" \
"$svnrepo/pr ject/branches/trailing_dotlock.lock" &&
svn_cmd cp -m "reflog" "$svnrepo/pr ject/trunk" \
"$svnrepo/pr ject/branches/not-a%40{0}reflog" &&
"$svnrepo/pr ject/branches/not-a@{0}reflog@" &&
start_httpd
'

Expand Down

0 comments on commit d5e7c0c

Please sign in to comment.