All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Eric Wong <normalperson@yhbt.net>
Cc: Michael G Schwern <schwern@pobox.com>,
	git@vger.kernel.org, gitster@pobox.com, robbat2@gentoo.org,
	bwalton@artsci.utoronto.ca
Subject: [PATCH/RFC 0/2] Re: [PATCH 2/7] Change canonicalize_url() to use the SVN 1.7 API when available.
Date: Sun, 14 Oct 2012 04:42:34 -0700	[thread overview]
Message-ID: <20121014114234.GA18127@elie.Belkin> (raw)
In-Reply-To: <50143700.80900@pobox.com>

Hi Eric,

Michael G Schwern wrote:
> On 2012.7.28 6:50 AM, Jonathan Nieder wrote:
>> Michael G Schwern wrote:

>>> --- a/perl/Git/SVN/Utils.pm
>>> +++ b/perl/Git/SVN/Utils.pm
>> [...]
>>> @@ -100,6 +102,20 @@ API as a URL.
>>>  =cut
>>>  
>>>  sub canonicalize_url {
>>> +	my $url = shift;
>>> +
>>> +	# The 1.7 way to do it
>>> +	if ( defined &SVN::_Core::svn_uri_canonicalize ) {
>>> +		return SVN::_Core::svn_uri_canonicalize($url);
>>> +	}
>>> +	# There wasn't a 1.6 way to do it, so we do it ourself.
>>> +	else {
>>> +		return _canonicalize_url_ourselves($url);
[...]
>> Leaves me a bit nervous.
>
> As it should, SVN dumped a mess on us.

Here's a pair of patches that address some of the bugs I was alluding
to.  Patch 1 makes _canonicalize_url_ourselves() match Subversion's
own canonicalization behavior more closely, though even with that
patch it still does not meet Subversion's requirements perfectly
(e.g., "%ab" is not canonicalized to "%AB").  Patch 2 makes that not
matter by using svn_path_canonicalize() when possible, which is the
standard way to do this kind of thing.

Sorry for the lack of clarity before.

Jonathan Nieder (2):
  git svn: do not overescape URLs (fallback case)
  Git::SVN::Utils::canonicalize_url: use svn_path_canonicalize when
    available

 perl/Git/SVN/Utils.pm | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

  parent reply	other threads:[~2012-10-14 11:42 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-28  9:38 Canonicalize the git-svn path & url accessors Michael G. Schwern
2012-07-28  9:38 ` [PATCH 1/7] Move the canonicalization functions to Git::SVN::Utils Michael G. Schwern
2012-07-28  9:38 ` [PATCH 2/7] Change canonicalize_url() to use the SVN 1.7 API when available Michael G. Schwern
2012-07-28 13:50   ` Jonathan Nieder
2012-07-28 19:01     ` Michael G Schwern
2012-07-28 19:30       ` Jonathan Nieder
2012-07-28 19:51         ` Michael G Schwern
2012-07-28 19:57           ` Jonathan Nieder
2012-07-28 20:02             ` Jonathan Nieder
2012-07-28 20:24               ` Michael G Schwern
2012-10-14 11:42       ` Jonathan Nieder [this message]
2012-10-14 11:45         ` [PATCH 1/2] git svn: do not overescape URLs (fallback case) Jonathan Nieder
2012-10-14 11:48         ` [PATCH 2/2] git svn: canonicalize_url(): use svn_path_canonicalize when available Jonathan Nieder
2012-10-23 22:58           ` Eric Wong
2012-07-28  9:38 ` [PATCH 3/7] Extract, test and enhance the logic to collapse ../foo paths Michael G. Schwern
2012-07-30 19:51   ` Eric Wong
2012-07-30 20:46     ` Michael G Schwern
2012-09-26 19:45       ` Jonathan Nieder
2012-09-26 20:58         ` Eric Wong
2012-09-26 21:38           ` Jonathan Nieder
2012-09-26 21:54             ` Eric Wong
2012-09-26 22:43               ` Jonathan Nieder
2012-09-27  0:15                 ` Eric Wong
2012-09-27  2:11                   ` Jonathan Nieder
2012-07-28  9:38 ` [PATCH 4/7] Add join_paths() to safely concatenate paths Michael G. Schwern
2012-09-26 20:51   ` Jonathan Nieder
2012-07-28  9:38 ` [PATCH 5/7] Remove irrelevant comment Michael G. Schwern
2012-07-28  9:38 ` [PATCH 6/7] Switch path canonicalization to use the SVN API Michael G. Schwern
2012-07-28 13:55   ` Jonathan Nieder
2012-07-28 19:07     ` Michael G Schwern
2012-07-30 20:04       ` Eric Wong
2012-08-02 21:51         ` Eric Wong
2012-08-02 23:18           ` Michael G Schwern
2012-10-05  7:04       ` [PATCH] git-svn: keep leading slash when canonicalizing paths (fallback case) Jonathan Nieder
2012-10-05 23:12         ` Eric Wong
2012-10-06  5:36           ` Junio C Hamano
2012-07-28  9:38 ` [PATCH 7/7] Make Git::SVN and Git::SVN::Ra canonicalize paths and urls Michael G. Schwern
2012-07-28 14:11   ` Jonathan Nieder
2012-07-28 19:15     ` Michael G Schwern

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=20121014114234.GA18127@elie.Belkin \
    --to=jrnieder@gmail.com \
    --cc=bwalton@artsci.utoronto.ca \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=normalperson@yhbt.net \
    --cc=robbat2@gentoo.org \
    --cc=schwern@pobox.com \
    /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.