Merge branch 'maint'
* maint: git-svn: make rebuild respect rewriteRoot option Workaround for AIX mkstemp()
This commit is contained in:
@ -2577,8 +2577,8 @@ sub rebuild {
|
|||||||
my ($log, $ctx) =
|
my ($log, $ctx) =
|
||||||
command_output_pipe(qw/rev-list --pretty=raw --no-color --reverse/,
|
command_output_pipe(qw/rev-list --pretty=raw --no-color --reverse/,
|
||||||
$self->refname, '--');
|
$self->refname, '--');
|
||||||
my $full_url = $self->full_url;
|
my $metadata_url = $self->metadata_url;
|
||||||
remove_username($full_url);
|
remove_username($metadata_url);
|
||||||
my $svn_uuid = $self->ra_uuid;
|
my $svn_uuid = $self->ra_uuid;
|
||||||
my $c;
|
my $c;
|
||||||
while (<$log>) {
|
while (<$log>) {
|
||||||
@ -2596,7 +2596,7 @@ sub rebuild {
|
|||||||
# if we merged or otherwise started elsewhere, this is
|
# if we merged or otherwise started elsewhere, this is
|
||||||
# how we break out of it
|
# how we break out of it
|
||||||
if (($uuid ne $svn_uuid) ||
|
if (($uuid ne $svn_uuid) ||
|
||||||
($full_url && $url && ($url ne $full_url))) {
|
($metadata_url && $url && ($url ne $metadata_url))) {
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2118,6 +2118,7 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
|
|||||||
fd = mkstemp(buffer);
|
fd = mkstemp(buffer);
|
||||||
if (fd < 0 && dirlen) {
|
if (fd < 0 && dirlen) {
|
||||||
/* Make sure the directory exists */
|
/* Make sure the directory exists */
|
||||||
|
memcpy(buffer, filename, dirlen);
|
||||||
buffer[dirlen-1] = 0;
|
buffer[dirlen-1] = 0;
|
||||||
if (mkdir(buffer, 0777) || adjust_shared_perm(buffer))
|
if (mkdir(buffer, 0777) || adjust_shared_perm(buffer))
|
||||||
return -1;
|
return -1;
|
||||||
|
32
t/t9123-git-svn-rebuild-with-rewriteroot.sh
Executable file
32
t/t9123-git-svn-rebuild-with-rewriteroot.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008 Jan Krüger
|
||||||
|
#
|
||||||
|
|
||||||
|
test_description='git-svn respects rewriteRoot during rebuild'
|
||||||
|
|
||||||
|
. ./lib-git-svn.sh
|
||||||
|
|
||||||
|
mkdir import
|
||||||
|
cd import
|
||||||
|
touch foo
|
||||||
|
svn import -m 'import for git-svn' . "$svnrepo" >/dev/null
|
||||||
|
cd ..
|
||||||
|
rm -rf import
|
||||||
|
|
||||||
|
test_expect_success 'init, fetch and checkout repository' '
|
||||||
|
git svn init --rewrite-root=http://invalid.invalid/ "$svnrepo" &&
|
||||||
|
git svn fetch
|
||||||
|
git checkout -b mybranch remotes/git-svn
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'remove rev_map' '
|
||||||
|
rm "$GIT_SVN_DIR"/.rev_map.*
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'rebuild rev_map' '
|
||||||
|
git svn rebase >/dev/null
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
||||||
|
|
Reference in New Issue
Block a user