On 19.05.2013 10:51, Zé wrote:
> On 05/18/2013 09:16 PM, Johan Corveleyn wrote:
>> So what's the actual problem (or problems) with SVN's branching and
>> tagging? Where does it hurt your workflow? What would make SVN not
>> "hurt you" in that way?
>>
>> Please be concrete, and give examples of what really bothers you as a
>> user or an admin in your daily work. Saying that "branches are not
>> first class", or "I don't like it that Subversion implements
>> branches/tags by copying directories" are too abstract, and really not
>> relevant. Why should I care how SVN implements its branches
>> internally, as long as it works for the use cases I need?
>
> This has already been repeated multiple times.  Didn't you followed
> the thread?
>
> Again, the problem is that subversion does not support branches or
> tags.  All it supports is basic file operations on a file system, and
> they are not adequate for simulating branches or tags.
>
> here's a small, concrete, reproducible example.
>
> 1) Create a brand new repository:
>
> $ svnadmin create /tmp/repository
>
>
> 2) Set the repo initial layout:
>
> $ svn mkdir branches tags trunk
>
>
> 3) Populate the trunk:
>
> $ svn checkout file:///tmp/repository working_copy
> $ cd working_copy/trunk
> $ touch main.c
> $ svn add main.c
> $ svn commit -m "Initial import"
>
>
> 4) Start a feature branch by copying the trunk directory to a
> dedicated subdirectory:
>
> $ svn copy file:///tmp/repository/trunk
> file:///tmp/repository/branches/awesome_feature
>
>
> 5) Work on the feature:
>
> $ svn checkout file:///tmp/repository/branches/awesome_feature/ feature
> $ cd feature
> $ touch good_idea_but_undoable.c
> $ svn add good_idea_but_undoable.c
> $ svn commit -m "This is a dead-end development branch, doomed to be a
> complete waste of developer's time"
>
>
> 6) Delete a development branch subdirectory:
>
> $ svn delete file:///tmp/repository/branches/awesome_feature
>
>
> 7) This is the problem:
>
> $ svn checkout --revision 3 file:///tmp/repository/branches wc
> $ cd wc && tree
>
> ze@ubuntu:wc$ tree
> .
> └── awesome_feature
>     ├── good_idea_but_undoable.c
>     └── main.c
>
> 1 directory, 2 files

I said before and I'll say again: you're making assumptions about what
branches are based on some model that doesn't fit reality. If Subversion
does not support your workflow, then replace Subversion, or change your
workflow. Stop insisting that your definition of a branch is a universal
truth.

-- Brane

-- 
Branko Čibej
Director of Subversion | WANdisco | www.wandisco.com

Reply via email to