Return-Path: Delivered-To: apmail-subversion-users-archive@minotaur.apache.org Received: (qmail 83032 invoked from network); 11 Jan 2011 19:16:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 11 Jan 2011 19:16:46 -0000 Received: (qmail 50089 invoked by uid 500); 11 Jan 2011 19:16:45 -0000 Delivered-To: apmail-subversion-users-archive@subversion.apache.org Received: (qmail 50063 invoked by uid 500); 11 Jan 2011 19:16:45 -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 50056 invoked by uid 99); 11 Jan 2011 19:16:45 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Jan 2011 19:16:45 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10.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; Tue, 11 Jan 2011 19:16:37 +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.13.6/8.13.6/Debian-1) with ESMTP id p0BJGC3c024031 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 11 Jan 2011 20:16:15 +0100 Received: from ted.stsp.name (stsp@localhost [127.0.0.1]) by ted.stsp.name (8.14.3/8.14.3) with ESMTP id p0BJGBDd028193; Tue, 11 Jan 2011 20:16:11 +0100 (CET) Received: (from stsp@localhost) by ted.stsp.name (8.14.3/8.14.3/Submit) id p0BJG9I2007689; Tue, 11 Jan 2011 20:16:09 +0100 (CET) Date: Tue, 11 Jan 2011 20:16:09 +0100 From: Stefan Sperling To: NN Ott Cc: Ryan Schmidt , users@subversion.apache.org Subject: Re: Feature Request: [Was: Best way to maintain patches to a 3rd party library?] Message-ID: <20110111191608.GC20710@ted.stsp.name> Mail-Followup-To: NN Ott , Ryan Schmidt , users@subversion.apache.org References: <20110111180200.GB20710@ted.stsp.name> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang_at_IN-Berlin_e.V. on 192.109.42.8 X-Virus-Checked: Checked by ClamAV on apache.org On Tue, Jan 11, 2011 at 01:36:37PM -0500, NN Ott wrote: > I just want the svn copy/log/diff/merge logic to see past, and account for, > and svn:external barrier. Very much a one-way flow of changes. Imho, > doesn't seem too bizzare or non-svn like. It may seem like that on the surface. But an external is a nested checkout within another working copy. That's all there is to it. It is bound to the repository it came from. Creating diffs between two distinct Subversion repositories, for instance, is impossible to achieve with the current design of Subversion. If you try it, you get an error like this: svn: 'https://svn.example.com/repos1/README' isn't in the same repository as 'https://svn.example.com/repos2/README' Making this work would require redesign of the system. It's not an implementation bug that this doesn't work. It's something the design doesn't support, because Subversion is centralized. If you want to reason and argue about this you will need to understand technical details of the current design. So I'd suggest that you familiarize yourself with Subversion's design, and then rephrase your proposal in a way that explains how Subversion's current design would need to be changed in order to achieve what you want. Unfortunately it's not easy to summarize everything you need to know in one email. You'll need to understand how the repository filesystem works. A fairly good explanation is given here: https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_base/notes/fs-history A good overview of how the client/server communication is currently structured is given here: http://www.red-bean.com/kfogel/beautiful-code/bc-chapter-02.html While linking to the above, it should also be noted that there is a new, currently unused, interface trying to address various shortcomings: https://svn.apache.org/repos/asf/subversion/trunk/subversion/include/svn_editor.h Stefan