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
Received on 2011-01-11 20:16:56 CET