X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:to:subject:message-id:references
	:mime-version:content-type:in-reply-to; q=dns; s=default; b=h+vL
	yB5gE5K8B40fTR4uPmuF18xiG1jNblrUG8WYTXT49jT6UZ560ob0JXFrzXDpGBcF
	0zvRa3barawe6+u+6HtRzeS18yp/C6/7EyMehFMg45xYUgXWeN6BOa8YK7k6suod
	Lhq2nctUi5yxN9wlBnzm43bVdBKSeO3qfz3S68g=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:to:subject:message-id:references
	:mime-version:content-type:in-reply-to; s=default; bh=c8FwXcAzVI
	lHrvVivgKiLdDNEZs=; b=JEHOAPyX4vtn3jr00dIOaS3zFJSRJ/wtpN9QQpUlF3
	wN5e3pzkf3+Uaq7YQROXTjKvOpUWGJ4Q/nCsZAPYYkMEyjhkqfvAsvVWD7oeZhmf
	0baxOmWlZGGqTrWrpXaIbHMr0zMc9AdxicDF7rXvGmEbOtfgoci6+ZECV7/yg2qY
	c=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Git, CentOS, centos, investigate
X-HELO: mail-wm0-f49.google.com
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=1e100.net; s=20130820;        h=x-gm-message-state:date:from:to:subject:message-id:references         :mime-version:content-disposition:in-reply-to:user-agent;        bh=VCEyU2mf6+RJ4dsGCq2dd/kcvbC5wya9ZaSwxOy/O4Y=;        b=j2HE5fy9jbVL5rd5hnNxfDQc1HfVGpUmuIMM5h7RN2YEUx2JI9ihHB9SJchfOtkOQ5         xf+dTb31H4PtsvJXkqx10v7q9rG4XMawITDM3CQGDR+RLNUvXSyHGUK3hzwIf6GE6mGl         /cyRVaFarU92vBliU0xRHyL8KyRoqKsX5MRlgWyw9yAV29akk5nEDSnZSgKUWX3j1t5/         GFZMq1WDicmdm+crjQMa4qwgDbzQCTF+xhxssX+nzKpP6nqGExsGTuyQtbiHEAAmfrub         unrm36T15actgUw2Xux/NzsMJvA2I7uOlUgef8rPHYeYKXKX4CMyHpav/5JTenoqDRQF         eXKA==
X-Gm-Message-State: AD7BkJKHpI9Qn240PcKC9/uoOXDeDi22+rL28k90b4KTI/uW2wvUrLlGmGrMguqQdOWOSA==
X-Received: by 10.194.189.7 with SMTP id ge7mr5409111wjc.72.1458153562869;        Wed, 16 Mar 2016 11:39:22 -0700 (PDT)
Date: Wed, 16 Mar 2016 18:39:20 +0000
From: Adam Dinwoodie <adam@dinwoodie.org>
To: cygwin@cygwin.com
Subject: Re: git svn -T svn://svn. ...
Message-ID: <20160316183920.GQ29016@dinwoodie.org>
References: <56DF1ABE.9050007@gmail.com> <20160309194606.GE29016@dinwoodie.org> <20160309195636.GF29016@dinwoodie.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20160309195636.GF29016@dinwoodie.org>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-IsSubscribed: yes

On Wed, Mar 09, 2016 at 07:56:36PM +0000, Adam Dinwoodie wrote:
> On Wed, Mar 09, 2016 at 07:46:06PM +0000, Adam Dinwoodie wrote:
> > On Tue, Mar 08, 2016 at 01:32:30PM -0500, cyg Simple wrote:
> > > Using the latest production release 2.4.1(1) the command is removing the
> > > / after the svn: leaving svn:/svn which isn't correct.  Using
> > > 'svn://svn' doesn't help either.
> > > 
> > > (2) $ git svn init -T 'svn://svn.code.sf.net/p/squirrelmail/code/trunk'
> > > E: 'svn:/svn.code.sf.net/p/squirrelmail/code/trunk' is not a complete
> > > URL  and a separate URL is not specified
> > 
> > I'm seeing the same behaviour on local builds of both v2.7.0 and v2.2.0,
> > and when using http:// URIs as well as svn:// ones.  Very sad.
> > 
> > It's not immediately obvious what's going wrong here, and I don't
> > currently have much spare time for digging, but I'll add it to my queue
> > to investigate the problem / report it upstream to see if anyone else
> > has any cunning ideas.
> 
> I've found a work-around.  I'm surprised it works, but it evidently
> does, so...
> 
> If you do the `git svn init` without the `-T` argument, then set up the
> branches to fetch explicitly using `git config`, everything seems to
> work fine:
> 
>     $ git svn init svn://svn.code.sf.net/p/squirrelmail/code
>     Initialized empty Git repository in /home/add/tmp/.git/
> 
>     $ git config svn-remote.svn.fetch trunk:refs/remotes/origin/trunk
> 
>     $ git svn fetch
>     r1 = 12dc820c417dc5f12723307a3fcfa4629ea972fb (refs/remotes/origin/trunk)
>             A       squirrelmail/ATHORS
>             A       squirrelmail/login.php3
>             A       squirrelmail/signout.php3
>     ...

A better work-around: don't specify the full URL in the -T argument:

    git svn init svn://svn.code.sf.net/p/squirrelmail/code -T trunk

The underlying bug here is that Git treats anything passed in a -T
argument as if it were a directory, and attempts to "canonicalize" it,
which includes squashing consecutive "/"s.

That doesn't match the Git SVN man page, which states "The Subversion
URL may be specified as ...  full URL arguments to -T/-t/-b" and "[The
-T flag] can point to a relative repository path ... or a full url", but
it looks like all the test scripts in Git only handle relative paths in
the -T argument.

Specifying the URL as a positional argument, and just the directory name
in the -T argument is what all the Git test scripts do, which is
presumably why this has never previously been spotted.

I'm in the process of writing this up to submit upstream.

As much for my own benefit: the reason I don't see this bug on my CentOS
box is that it has Subversion 1.6; the canonicalization function in
Subversion 1.6 (and earlier?) is different and doesn't cause this bug to
manifest.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

