From: Marc Branchaud <marcnarc@xiplink.com>
To: Eric Wong <normalperson@yhbt.net>
Cc: Michael J Gruber <git@drmicha.warpmail.net>, git@vger.kernel.org
Subject: Re: [PATCH] git svn: Support multiple branch and tag paths in the svn repository.
Date: Fri, 26 Jun 2009 15:20:42 -0400 [thread overview]
Message-ID: <4A451F8A.9060501@xiplink.com> (raw)
In-Reply-To: <20090625093602.GA3997@dcvr.yhbt.net>
Thanks a bunch, Eric!
Can I assume that since you've taken the commit into your repo that the feature will find itself into Junio's git at some point?
I'll send out a documentation patch shortly.
Is the svn_cmd wrapper simply a drop-in replacement for svn? I can make that change, too.
M.
Eric Wong wrote:
> Marc Branchaud <marcnarc@xiplink.com> wrote:
>> This enables git-svn.perl to read multiple 'branches' and 'tags' entries in
>> svn-remote config sections. The init and clone subcommands also support
>> multiple --branches and --tags arguments.
>>
>> The branch (and tag) subcommand gets a new argument: --destination (or -d).
>> This argument is required if there are multiple branches (or tags) entries
>> configured for the remote Subversion repository. The argument's value
>> specifies which branch (or tag) path to use to create the branch (or tag).
>> The specified value must match the left side (without wildcards) of one of
>> the branches (or tags) refspecs in the svn-remote's config.
>>
>> Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
>> ---
>>
>> I got carried away making unit tests and went and implemented most of this...
>>
>> I'm fairly happy with this, except for the way the branch subcommand matches
>> refspecs. The patch does a simple string comparison, but it'd be better to do
>> an actual glob. I just couldn't track down the right function for that, so I
>> left it as a strcmp and hope that a gitizen can tell me how to glob here.
>>
>> (ps. I'm trying a new way to send patches -- apologies if it's mangled!)
>
> Thanks Marc! Everything looks fine here; I don't think I'll have time
> to test it myself any time soon but your test case looks good and
> doesn't break any of the other tests :) Sorry for the delay, I haven't
> had access to my computer or email much in the past few weeks.
>
> Acked and and pushed out to git://git.bogomips.org/git-svn along with a
> followup patch to convert the glob to a regexp for branching:
>
> From f7050599310c18bd67b35b8d59486116b30ff1f6 Mon Sep 17 00:00:00 2001
> From: Eric Wong <normalperson@yhbt.net>
> Date: Thu, 25 Jun 2009 02:28:15 -0700
> Subject: [PATCH] git-svn: convert globs to regexps for branch destinations
>
> Marc Branchaud wrote:
>> I'm fairly happy with this, except for the way the branch
>> subcommand matches refspecs. The patch does a simple string
>> comparison, but it'd be better to do an actual glob. I just
>> couldn't track down the right function for that, so I left it as
>> a strcmp and hope that a gitizen can tell me how to glob here.
>
> Signed-off-by: Eric Wong <normalperson@yhbt.net>
> ---
>
> I haven't actually tested it, and yes, it should probably be
> moved to Git.pm even though it's not necessarily git-only...
>
> git-svn.perl | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/git-svn.perl b/git-svn.perl
> index 48e8aad..6c42e2a 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -646,7 +646,9 @@ sub cmd_branch {
> " with the --destination argument.\n";
> }
> foreach my $g (@{$allglobs}) {
> - if ($_branch_dest eq $g->{path}->{left}) {
> + # SVN::Git::Editor could probably be moved to Git.pm..
> + my $re = SVN::Git::Editor::glob2pat($g->{path}->{left});
> + if ($_branch_dest =~ /$re/) {
> $glob = $g;
> last;
> }
next prev parent reply other threads:[~2009-06-26 19:21 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-12 21:46 git svn: Supporting multiple branch subdirs? Marc Branchaud
2009-06-13 11:46 ` Michael J Gruber
2009-06-15 17:29 ` Marc Branchaud
2009-06-17 14:25 ` Michael J Gruber
2009-06-17 15:25 ` Marc Branchaud
2009-06-18 14:03 ` Michael J Gruber
2009-06-18 14:28 ` Marc Branchaud
2009-06-18 16:00 ` Michael J Gruber
2009-06-18 14:31 ` [MONKEY PATCH] git-svn: allow two branch configurations Michael J Gruber
2009-06-22 14:50 ` Marc Branchaud
2009-06-23 17:02 ` [PATCH] git svn: Support multiple branch and tag paths in the svn repository Marc Branchaud
2009-06-25 9:36 ` Eric Wong
2009-06-25 22:25 ` Junio C Hamano
2009-06-26 0:33 ` Eric Wong
2009-06-26 5:18 ` Andreas Ericsson
2009-06-26 18:11 ` Eric Wong
2009-06-26 19:20 ` Marc Branchaud [this message]
2009-06-26 20:49 ` [PATCH] git svn: Doc update for multiple branch and tag paths Marc Branchaud
2009-06-26 20:57 ` [PATCH] git svn: Support multiple branch and tag paths in the svn repository Eric Wong
2009-06-26 21:08 ` [PATCH] git svn: Fix t9138-multiple-branches to use svn_cmd and (cd ...) syntax Marc Branchaud
2009-06-26 21:54 ` Eric Wong
2009-06-27 15:03 ` Marc Branchaud
2009-06-27 22:08 ` Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A451F8A.9060501@xiplink.com \
--to=marcnarc@xiplink.com \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=normalperson@yhbt.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.