Merge git://git.bogomips.org/git-svn
* git://git.bogomips.org/git-svn: git-svn: read the dcommit url from the config file on a per remote basis git-svn: fix delete+add branch tracking with empty files git-svn: Create leading directories in create-ignoremaint
commit
d43c07b8ee
|
@ -169,6 +169,10 @@ and have no uncommitted changes.
|
||||||
reused if a user is later given access to an alternate transport
|
reused if a user is later given access to an alternate transport
|
||||||
method (e.g. `svn+ssh://` or `https://`) for commit.
|
method (e.g. `svn+ssh://` or `https://`) for commit.
|
||||||
|
|
||||||
|
config key: svn-remote.<name>.commiturl
|
||||||
|
|
||||||
|
config key: svn.commiturl (overwrites all svn-remote.<name>.commiturl options)
|
||||||
|
|
||||||
Using this option for any other purpose (don't ask)
|
Using this option for any other purpose (don't ask)
|
||||||
is very strongly discouraged.
|
is very strongly discouraged.
|
||||||
--
|
--
|
||||||
|
|
19
git-svn.perl
19
git-svn.perl
|
@ -438,7 +438,17 @@ sub cmd_dcommit {
|
||||||
die "Unable to determine upstream SVN information from ",
|
die "Unable to determine upstream SVN information from ",
|
||||||
"$head history.\nPerhaps the repository is empty.";
|
"$head history.\nPerhaps the repository is empty.";
|
||||||
}
|
}
|
||||||
$url = defined $_commit_url ? $_commit_url : $gs->full_url;
|
|
||||||
|
if (defined $_commit_url) {
|
||||||
|
$url = $_commit_url;
|
||||||
|
} else {
|
||||||
|
$url = eval { command_oneline('config', '--get',
|
||||||
|
"svn-remote.$gs->{repo_id}.commiturl") };
|
||||||
|
if (!$url) {
|
||||||
|
$url = $gs->full_url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
my $last_rev = $_revision if defined $_revision;
|
my $last_rev = $_revision if defined $_revision;
|
||||||
if ($url) {
|
if ($url) {
|
||||||
print "Committing to $url ...\n";
|
print "Committing to $url ...\n";
|
||||||
|
@ -670,7 +680,11 @@ sub cmd_create_ignore {
|
||||||
$gs->prop_walk($gs->{path}, $r, sub {
|
$gs->prop_walk($gs->{path}, $r, sub {
|
||||||
my ($gs, $path, $props) = @_;
|
my ($gs, $path, $props) = @_;
|
||||||
# $path is of the form /path/to/dir/
|
# $path is of the form /path/to/dir/
|
||||||
my $ignore = '.' . $path . '.gitignore';
|
$path = '.' . $path;
|
||||||
|
# SVN can have attributes on empty directories,
|
||||||
|
# which git won't track
|
||||||
|
mkpath([$path]) unless -d $path;
|
||||||
|
my $ignore = $path . '.gitignore';
|
||||||
my $s = $props->{'svn:ignore'} or return;
|
my $s = $props->{'svn:ignore'} or return;
|
||||||
open(GITIGNORE, '>', $ignore)
|
open(GITIGNORE, '>', $ignore)
|
||||||
or fatal("Failed to open `$ignore' for writing: $!");
|
or fatal("Failed to open `$ignore' for writing: $!");
|
||||||
|
@ -2417,6 +2431,7 @@ sub find_parent_branch {
|
||||||
# do_switch works with svn/trunk >= r22312, but that
|
# do_switch works with svn/trunk >= r22312, but that
|
||||||
# is not included with SVN 1.4.3 (the latest version
|
# is not included with SVN 1.4.3 (the latest version
|
||||||
# at the moment), so we can't rely on it
|
# at the moment), so we can't rely on it
|
||||||
|
$self->{last_rev} = $r0;
|
||||||
$self->{last_commit} = $parent;
|
$self->{last_commit} = $parent;
|
||||||
$ed = SVN::Git::Fetcher->new($self, $gs->{path});
|
$ed = SVN::Git::Fetcher->new($self, $gs->{path});
|
||||||
$gs->ra->gs_do_switch($r0, $rev, $gs,
|
$gs->ra->gs_do_switch($r0, $rev, $gs,
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='test recreated svn branch with empty files'
|
||||||
|
|
||||||
|
. ./lib-git-svn.sh
|
||||||
|
test_expect_success 'load svn dumpfile' '
|
||||||
|
svnadmin load "$rawsvnrepo" < "${TEST_DIRECTORY}/t9136/svn.dump"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'clone using git svn' 'git svn clone -s "$svnrepo" x'
|
||||||
|
|
||||||
|
test_done
|
|
@ -0,0 +1,192 @@
|
||||||
|
SVN-fs-dump-format-version: 2
|
||||||
|
|
||||||
|
UUID: eecae021-8f16-48da-969d-79beb8ae6ea5
|
||||||
|
|
||||||
|
Revision-number: 0
|
||||||
|
Prop-content-length: 56
|
||||||
|
Content-length: 56
|
||||||
|
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:56.292890Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Revision-number: 1
|
||||||
|
Prop-content-length: 106
|
||||||
|
Content-length: 106
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 4
|
||||||
|
init
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
john.doe
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:57.192384Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: branches
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Prop-content-length: 10
|
||||||
|
Content-length: 10
|
||||||
|
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
|
||||||
|
Node-path: tags
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Prop-content-length: 10
|
||||||
|
Content-length: 10
|
||||||
|
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
|
||||||
|
Node-path: trunk
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Prop-content-length: 10
|
||||||
|
Content-length: 10
|
||||||
|
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
|
||||||
|
Node-path: trunk/file
|
||||||
|
Node-kind: file
|
||||||
|
Node-action: add
|
||||||
|
Prop-content-length: 10
|
||||||
|
Text-content-length: 0
|
||||||
|
Text-content-md5: d41d8cd98f00b204e9800998ecf8427e
|
||||||
|
Content-length: 10
|
||||||
|
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
|
||||||
|
Revision-number: 2
|
||||||
|
Prop-content-length: 105
|
||||||
|
Content-length: 105
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 3
|
||||||
|
1.0
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
john.doe
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:58.124724Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: tags/1.0
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Node-copyfrom-rev: 1
|
||||||
|
Node-copyfrom-path: trunk
|
||||||
|
|
||||||
|
|
||||||
|
Revision-number: 3
|
||||||
|
Prop-content-length: 111
|
||||||
|
Content-length: 111
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 9
|
||||||
|
1.0.1-bad
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
john.doe
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:58.151727Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: tags/1.0.1
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Node-copyfrom-rev: 2
|
||||||
|
Node-copyfrom-path: tags/1.0
|
||||||
|
|
||||||
|
|
||||||
|
Revision-number: 4
|
||||||
|
Prop-content-length: 111
|
||||||
|
Content-length: 111
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 9
|
||||||
|
Wrong tag
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
john.doe
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:58.167427Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: tags/1.0.1
|
||||||
|
Node-action: delete
|
||||||
|
|
||||||
|
|
||||||
|
Revision-number: 5
|
||||||
|
Prop-content-length: 113
|
||||||
|
Content-length: 113
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 10
|
||||||
|
1.0-branch
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
john.doe
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:58.184498Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: branches/1.0
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Node-copyfrom-rev: 4
|
||||||
|
Node-copyfrom-path: tags/1.0
|
||||||
|
|
||||||
|
|
||||||
|
Revision-number: 6
|
||||||
|
Prop-content-length: 113
|
||||||
|
Content-length: 113
|
||||||
|
|
||||||
|
K 7
|
||||||
|
svn:log
|
||||||
|
V 10
|
||||||
|
1.0.1-good
|
||||||
|
K 10
|
||||||
|
svn:author
|
||||||
|
V 8
|
||||||
|
john.doe
|
||||||
|
K 8
|
||||||
|
svn:date
|
||||||
|
V 27
|
||||||
|
2009-02-22T00:50:58.200695Z
|
||||||
|
PROPS-END
|
||||||
|
|
||||||
|
Node-path: tags/1.0.1
|
||||||
|
Node-kind: dir
|
||||||
|
Node-action: add
|
||||||
|
Node-copyfrom-rev: 5
|
||||||
|
Node-copyfrom-path: branches/1.0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue