Skip to content

Commit

Permalink
git svn: revert default behavior for --minimize-url
Browse files Browse the repository at this point in the history
This reverts the --minimize-url behavior change that
appeared recently in commit 0b2af45
("Fix branch detection when repository root is inaccessible").

However, we now allow the option to be turned off by allowing
"--no-minimize-url" so people with limited-access setups can
still take advantage of the fix in
0b2af45.

Also document the behavior and default settings of minimize-url
in the manpage for the first time.

This introduces a temporary UI regression to allow t9141 to pass
that will be reverted (fixed) in the next commit.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
  • Loading branch information
Eric Wong committed Jul 25, 2009
1 parent 2da9ee0 commit 6b48829
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
11 changes: 11 additions & 0 deletions Documentation/git-svn.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,17 @@ COMMANDS
When passed to 'init' or 'clone' this regular expression will
be preserved as a config key. See 'fetch' for a description
of '--ignore-paths'.
--no-minimize-url;;
When tracking multiple directories (using --stdlayout,
--branches, or --tags options), git svn will attempt to connect
to the root (or highest allowed level) of the Subversion
repository. This default allows better tracking of history if
entire projects are moved within a repository, but may cause
issues on repositories where read access restrictions are in
place. Passing '--no-minimize-url' will allow git svn to
accept URLs as-is without attempting to connect to a higher
level directory. This option is off by default when only
one URL/branch is tracked (it would do little good).

'fetch'::
Fetch unfetched revisions from the Subversion remote we are
Expand Down
7 changes: 6 additions & 1 deletion git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
$Git::SVN::default_repo_id = 'svn';
$Git::SVN::default_ref_id = $ENV{GIT_SVN_ID} || 'git-svn';
$Git::SVN::Ra::_log_window_size = 100;
$Git::SVN::_minimize_url = 'unset';

$Git::SVN::Log::TZ = $ENV{TZ};
$ENV{TZ} = 'UTC';
Expand Down Expand Up @@ -100,7 +101,7 @@ BEGIN
'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,
'minimize-url|m!' => \$Git::SVN::_minimize_url,
'no-metadata' => sub { $icv{noMetadata} = 1 },
'use-svm-props' => sub { $icv{useSvmProps} = 1 },
'use-svnsync-props' => sub { $icv{useSvnsyncProps} = 1 },
Expand Down Expand Up @@ -399,6 +400,10 @@ sub cmd_init {
init_subdir(@_);
do_git_init_db();

if ($Git::SVN::_minimize_url eq 'unset') {
$Git::SVN::_minimize_url = 0;
}

Git::SVN->init($url);
}

Expand Down
8 changes: 4 additions & 4 deletions t/t9141-git-svn-multiple-branches.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,22 +99,22 @@ test_expect_success 'Multiple branch or tag paths require -d' '

test_expect_success 'create new branches and tags' '
( cd git_project &&
git svn branch -m "New branch 1" -d b_one New1 ) &&
git svn branch -m "New branch 1" -d project/b_one New1 ) &&
( cd svn_project &&
svn_cmd up && test -e b_one/New1/a.file ) &&
( cd git_project &&
git svn branch -m "New branch 2" -d b_two New2 ) &&
git svn branch -m "New branch 2" -d project/b_two New2 ) &&
( cd svn_project &&
svn_cmd up && test -e b_two/New2/a.file ) &&
( cd git_project &&
git svn branch -t -m "New tag 1" -d tags_A Tag1 ) &&
git svn branch -t -m "New tag 1" -d project/tags_A Tag1 ) &&
( cd svn_project &&
svn_cmd up && test -e tags_A/Tag1/a.file ) &&
( cd git_project &&
git svn tag -m "New tag 2" -d tags_B Tag2 ) &&
git svn tag -m "New tag 2" -d project/tags_B Tag2 ) &&
( cd svn_project &&
svn_cmd up && test -e tags_B/Tag2/a.file )
'
Expand Down

0 comments on commit 6b48829

Please sign in to comment.