public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
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;
>  			}

  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$(echo .)com \
    --cc=git@drmicha$(echo .)warpmail.net \
    --cc=git@vger$(echo .)kernel.org \
    --cc=normalperson@yhbt$(echo .)net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox