summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartin f. krafft <madduck@madduck.net>2007-07-14 09:25:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-08-23 07:18:02 (GMT)
commit8f728fb96f00860cae58f4f2c5c9c96651e6a626 (patch)
tree6ce0204ade6c3898a7219bd892322bc785aeefbb
parentb1d884a9e3968db1fff91c2d066d871a3b8b013c (diff)
downloadgit-8f728fb96f00860cae58f4f2c5c9c96651e6a626.zip
git-8f728fb96f00860cae58f4f2c5c9c96651e6a626.tar.gz
git-8f728fb96f00860cae58f4f2c5c9c96651e6a626.tar.bz2
git-svn init/clone --stdlayout option to default-init trunk/tags/branches
The --stdlayout option to git-svn init/clone initialises the default Subversion values of trunk,tags,branches: -T trunk -b branches -t tags. If any of the -T/-t/-b options are given in addition, they are given preference. [ew: fixed whitespace and added "-s" shortcut] Signed-off-by: martin f. krafft <madduck@madduck.net> Signed-off-by: Eric Wong <normalperson@yhbt.net>
-rw-r--r--Documentation/git-svn.txt7
-rwxr-xr-xgit-svn.perl11
2 files changed, 15 insertions, 3 deletions
diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt
index fbc5887..3e2a63b 100644
--- a/Documentation/git-svn.txt
+++ b/Documentation/git-svn.txt
@@ -44,10 +44,15 @@ COMMANDS
--tags=<tags_subdir>;;
-b<branches_subdir>;;
--branches=<branches_subdir>;;
+-s;;
+--stdlayout;;
These are optional command-line options for init. Each of
these flags can point to a relative repository path
(--tags=project/tags') or a full url
- (--tags=https://foo.org/project/tags)
+ (--tags=https://foo.org/project/tags). The option --stdlayout is
+ a shorthand way of setting trunk,tags,branches as the relative paths,
+ which is the Subversion default. If any of the other options are given
+ as well, they take precedence.
--no-metadata;;
Set the 'noMetadata' option in the [svn-remote] config.
--use-svm-props;;
diff --git a/git-svn.perl b/git-svn.perl
index 7a8ffd5..4e325b7 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -77,11 +77,12 @@ my %fc_opts = ( 'follow-parent|follow!' => \$Git::SVN::_follow_parent,
\$Git::SVN::_repack_flags,
%remote_opts );
-my ($_trunk, $_tags, $_branches);
+my ($_trunk, $_tags, $_branches, $_stdlayout);
my %icv;
my %init_opts = ( 'template=s' => \$_template, 'shared:s' => \$_shared,
'trunk|T=s' => \$_trunk, 'tags|t=s' => \$_tags,
'branches|b=s' => \$_branches, 'prefix=s' => \$_prefix,
+ 'stdlayout|s' => \$_stdlayout,
'minimize-url|m' => \$Git::SVN::_minimize_url,
'no-metadata' => sub { $icv{noMetadata} = 1 },
'use-svm-props' => sub { $icv{useSvmProps} = 1 },
@@ -292,7 +293,8 @@ sub init_subdir {
sub cmd_clone {
my ($url, $path) = @_;
if (!defined $path &&
- (defined $_trunk || defined $_branches || defined $_tags) &&
+ (defined $_trunk || defined $_branches || defined $_tags ||
+ defined $_stdlayout) &&
$url !~ m#^[a-z\+]+://#) {
$path = $url;
}
@@ -302,6 +304,11 @@ sub cmd_clone {
}
sub cmd_init {
+ if (defined $_stdlayout) {
+ $_trunk = 'trunk' if (!defined $_trunk);
+ $_tags = 'tags' if (!defined $_tags);
+ $_branches = 'branches' if (!defined $_branches);
+ }
if (defined $_trunk || defined $_branches || defined $_tags) {
return cmd_multi_init(@_);
}