From users-return-21914-apmail-subversion-users-archive=subversion.apache.org@subversion.apache.org Thu Aug 7 15:50:45 2014 Return-Path: X-Original-To: apmail-subversion-users-archive@minotaur.apache.org Delivered-To: apmail-subversion-users-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2A39FC7AA for ; Thu, 7 Aug 2014 15:50:45 +0000 (UTC) Received: (qmail 39692 invoked by uid 500); 7 Aug 2014 15:50:44 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 39662 invoked by uid 500); 7 Aug 2014 15:50:44 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 39651 invoked by uid 99); 7 Aug 2014 15:50:44 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Aug 2014 15:50:44 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [192.109.42.8] (HELO einhorn.in-berlin.de) (192.109.42.8) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Aug 2014 15:50:42 +0000 X-Envelope-From: stsp@stsp.name Received: from ted.stsp.name (ted.stsp.name [217.197.84.34]) by einhorn.in-berlin.de (8.14.4/8.14.4/Debian-4) with ESMTP id s77FoFkC005391 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2014 17:50:16 +0200 Received: from ted.stsp.name (localhost [127.0.0.1]) by ted.stsp.name (8.14.8/8.14.3) with ESMTP id s77FoE7P014885; Thu, 7 Aug 2014 17:50:14 +0200 (CEST) Received: (from stsp@localhost) by ted.stsp.name (8.14.8/8.14.7/Submit) id s77FoEhI017954; Thu, 7 Aug 2014 17:50:14 +0200 (CEST) Date: Thu, 7 Aug 2014 17:50:14 +0200 From: Stefan Sperling To: Tyler Winter Mace Cc: users@subversion.apache.org Subject: Re: Short-urls impossible with WebDAV Pass Thru Message-ID: <20140807155013.GI27031@ted.stsp.name> Mail-Followup-To: Tyler Winter Mace , users@subversion.apache.org References: <53E27F81.2080603@thermoanalytics.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53E27F81.2080603@thermoanalytics.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Virus-Checked: Checked by ClamAV on apache.org On Wed, Aug 06, 2014 at 03:18:25PM -0400, Tyler Winter Mace wrote: > I am adding a mirror repository, mirroring an http-based repository. That > repository uses a shortest-possible naming scheme (""). For > example: > http://svnhost/repos/trunk/main.c > > Now that I'm trying to mirror it, I find that the mirror doesn't like it. It > issues this error: > SVNMasterURI value must not be a server root > > (It is defined as "http://svnhost/") > > My desire is for all users (not just mirror users but all users) to use as > short of an SVN url scheme as possible. Is that not possible if we need to > also mirror the site? > > I had someone on the chat today refer me to a commit log: > https://svn.apache.org/r1064734 > ... and a bug report ... > http://subversion.tigris.org/issues/show_bug.cgi?id=3445 > > Thanks in advance, > > -Tyler Mace Hi Tyler, I've forward your question to C. Mike Pilato, who committed r1064734. Here's what he's got to say: [[[ On 08/07/2014 06:49 AM, Stefan Sperling wrote: > Hey Mike, > > since you made the commit in question: Can you remember why mirroring from > the server root is not allowed? Oh geez... the cobwebs... I honestly don't recall, but I strongly suspect that it has something to do with how the mirroring filters work. These things do essentially a global search-and-replace on the request and response bodies and headers, transforming strings in requests that look like the path portions of the master URL into those that match the path portions of the slave URL; vice-versa in responses. And the protocol doesn't speak in terms of fully qualified URLs -- within the bodies, it's just the path portions. I recall running into problems when asking the C code to do a global search and replace of either "" or "/" with something else. :-) Now, that check I added might be something we could relax iff the slave URL's path portion is likewise empty -- meaning you're mapping between two server roots. The mirror code does detect the situation where the search-and-replace would be a noop (because the strings are identical), and avoids filtering at all in such situations. Of course, as you know, having matching path portions here is the *only* safe way of using the mirroring code at all. Yet, to my knowledge, we still don't require our users to set things up that way. Hope this helps. -- C. Michael Pilato CollabNet <> www.collab.net <> Enterprise Cloud Development ]]]