Alejandro R. SedeÃo venit, vidit, dixit 05.04.2011 22:15: > Similar to the 'remote.<name>.pushurl' config key for git remotes, the > 'pushurl' key is treated the same as the 'url' key. This is distinct > from the 'commiturl' key, which is defined to be a full svn path. > > This is necessary if you want to be able to commit to multiple branches. Maybe one can understand this remark after reading the whole thread, but reading it as a commit message I'm wondering: Huh? How can I have been doing it then without pushurl? Also, "treated the same as the url" makes a reader wonder why we have two names for the same. The point of pushurl is that you can use a passwordless transport for fetches and another transport for pushes. The standing assumption is that both urls point in fact at the same repo. Weird things can happen if not. Is that assumption the same for your svn pushurl? > > Signed-off-by: Alejandro R. SedeÃo <asedeno@xxxxxxx> > Reviewed-off-by: James Y Knight <jknight@xxxxxxxxxxxxxxx> > --- > Documentation/git-svn.txt | 6 ++++++ > git-svn.perl | 14 ++++++++++++-- > 2 files changed, 18 insertions(+), 2 deletions(-) > > diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt > index ea8fafd..94f7497 100644 > --- a/Documentation/git-svn.txt > +++ b/Documentation/git-svn.txt > @@ -648,6 +648,12 @@ svn-remote.<name>.rewriteUUID:: > where the original UUID is not available via either useSvmProps > or useSvnsyncProps. > > +svn-remote.<name>.pushurl:: > + Similar to git's remote.<name>.pushurl, this is useful in > + cases where the SVN repository url is read-only. Unlike > + 'commiturl', 'pushurl' is a base path. This key is overridden > + by the 'commiturl' config key. > + Exactly :) > svn.brokenSymlinkWorkaround:: > This disables potentially expensive checks to workaround > broken symlinks checked into SVN by broken clients. Set this > diff --git a/git-svn.perl b/git-svn.perl > index fa8cd07..8372606 100755 > --- a/git-svn.perl > +++ b/git-svn.perl > @@ -531,7 +531,13 @@ sub cmd_dcommit { > $url = eval { command_oneline('config', '--get', > "svn-remote.$gs->{repo_id}.commiturl") }; > if (!$url) { > - $url = $gs->full_url > + $url = eval { command_oneline('config', '--get', > + "svn-remote.$gs->{repo_id}.pushurl") }; > + if ($url) { > + $url .= (length $gs->{path} ? '/' . $gs->{path} : ''); > + } else { > + $url = $gs->full_url > + } > } > } > > @@ -730,7 +736,11 @@ sub cmd_branch { > $url = eval { command_oneline('config', '--get', > "svn-remote.$gs->{repo_id}.commiturl") }; > if (!$url) { > - $url = $remote->{url}; > + $url = eval { command_oneline('config', '--get', > + "svn-remote.$gs->{repo_id}.pushurl") }; > + if (!$url) { > + $url = $remote->{url}; > + } > } > } > my $dst = join '/', $url, $lft, $branch_name, ($rgt || ()); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html