On Sat, May 11, 2013 at 1:25 PM, ZÃ© <jose.passes_at_gmx.com> wrote:
> On 05/09/2013 09:35 PM, Branko ÄŒibej wrote:
>> The real problem here is that Subversion does not treat/renames/ as
>> atomic operations.
> I think that the real problem here is that Subversion doesn't support
> branches. The fact is that moving or copying a file or directory around is
> not the semantical equivalent of creating a branch. Therefore, if the same
> operation is used to perform both then one will not be supported as well as
> it could be.
And yet, somehow, it works.
This goes straight back to the origin of Subversion, as "CVS done
right". CVS had a *nightmarish* approach to handling tags and branches
and locking and secure remote access and a dozen other critical
features. It was used because it was very lightweight, easy to learn,
and let people shoot themselves in the foot if they really wanted to
for whatever reason.
Subversion developers ahve, understandably, elected not to enforce
tags/branching/trunk in the software, and let directory structure and
access management serve instead. This has provided enormous
flexibility: I can make a branch of only one small directory of a
trunk, and work with that, and merge it back without having to manage
a whole branch. And I can even weave them together in fascinating ways
with "svn:extern", to make new structures of multiple branches and
tags from multiple repositories.
As soon as you go to a more popular, mandated and hardcoded
"branch/trunk/tags" structure, you lose that flexibility and the
ability to have multiple small components of a repository tagged off
or branched off individually.
Received on 2013-05-11 23:51:18 CEST