You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Hridyesh Pant <hp...@quark.com> on 2005/06/02 06:05:19 UTC
Branches and tags
Hi,
I am trying to move subversion.but i am not able to understand below point:
"Branching and tagging are cheap (constant time) operations
There is no reason for these operations to be expensive, so they aren't.
Branches and tags are both implemented in terms of an underlying "copy" operation. A copy takes up a small, constant amount of space. Any copy is a tag; and if you start committing on a copy, then it's a branch as well. (This does away with CVS's "branch-point tagging", by removing the distinction that made branch-point tags necessary in the first place"
Could anybody help me to explain in detail with example.
Thanks
Hridyesh
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Branches and tags
Posted by Ben Collins-Sussman <su...@collab.net>.
On Jun 2, 2005, at 8:10 AM, Miha Vitorovic wrote:
>
> Well, the quote is from the book, and to be honest, it doesn't
> explain the whole thing quite clearly. Well, it does, but to
> someone who is familiar with a version control system.
Really? The chapter was specifically written to assume that the
reader had never used version control at all. Hence the section in
the beginning, "What's a branch?", which defines the term, and shows
diagrams. Later on, the "Tags" section explains what a tag is, and
how it's similar to a branch.
It sounds like you're unhappy because you want to understand the
*internal* details of why copies are cheap. The book can only go
into so much detail there; there's a sidebar about it in http://
svnbook.red-bean.com/en/1.1/ch04s02.html#svn-ch-4-sect-2.3.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Branches and tags
Posted by Miha Vitorovic <mv...@nil.si>.
Ben Collins-Sussman <su...@collab.net> wrote on 02.06.2005 14:50:58:
> How about reading chapter 4?
>
> http://svnbook.red-bean.com/en/1.1/ch04.html
Well, the quote is from the book, and to be honest, it doesn't explain the
whole thing quite clearly. Well, it does, but to someone who is familiar
with a version control system. When I started with this from the scratch,
I had to try things out, and use the system for a while, before it became
perfectly clear to me, what a TAG actually is.
Cheers,
---
Miha Vitorovic
Inženir v tehničnem področju
Customer Support Engineer
NIL Data Communications, Tivolska cesta 48, 1000 Ljubljana, Slovenia
Phone +386 1 4746 500 Fax +386 1 4746 501 http://www.NIL.si
Re: Branches and tags
Posted by Ben Collins-Sussman <su...@collab.net>.
On Jun 2, 2005, at 1:05 AM, Hridyesh Pant wrote:
> Hi,
> I am trying to move subversion.but i am not able to understand
> below point:
> "Branching and tagging are cheap (constant time) operations
> There is no reason for these operations to be expensive, so they
> aren't.
>
> Branches and tags are both implemented in terms of an underlying
> "copy" operation. A copy takes up a small, constant amount of
> space. Any copy is a tag; and if you start committing on a copy,
> then it's a branch as well. (This does away with CVS's "branch-
> point tagging", by removing the distinction that made branch-point
> tags necessary in the first place"
>
>
> Could anybody help me to explain in detail with example.
How about reading chapter 4?
http://svnbook.red-bean.com/en/1.1/ch04.html
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Branches and tags
Posted by Erik Huelsmann <eh...@gmail.com>.
On 6/2/05, Ulrich Eckhardt <ec...@satorlaser.com> wrote:
[ snip ]
> > "Branching and tagging are cheap (constant time) operations
> > There is no reason for these operations to be expensive, so they aren't.
>
> This is just to reassure people that the copy operation for branching/tagging
> is not expensive, neither in terms of disk space nor CPU load. The reason for
> this is that the node 'tags/project1/version_0.1' at revision X is internally
> stored as reference to the node 'trunk/project1' at revision X-1, i.e. there
> is no copying going on.
Yes, as well as stressing the difference with CVS, where the execution
time fo tagging and branching is lineair with the number of files to
be branched or tagged.
bye,
Erik.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Branches and tags
Posted by Ulrich Eckhardt <ec...@satorlaser.com>.
Hridyesh Pant wrote:
> Branches and tags are both implemented in terms of an underlying "copy"
> operation. A copy takes up a small, constant amount of space. Any copy is a
> tag; and if you start committing on a copy, then it's a branch as well.
> (This does away with CVS's "branch-point tagging", by removing the
> distinction that made branch-point tags necessary in the first place"
There is no support for branches or tags in Subversion itself (because not
every development uses them). However, the typical way to implement branching
and tagging on top of Subversion is to create three subdirs
trunk/tags/branches and to copy the whole project from trunk to a folder
under the branches or tags folder, e.g. 'copy trunk/project1
tags/project1/version_0.1'.
In CVS on the other hand, operations like branches or tags are builtin
features.
> "Branching and tagging are cheap (constant time) operations
> There is no reason for these operations to be expensive, so they aren't.
This is just to reassure people that the copy operation for branching/tagging
is not expensive, neither in terms of disk space nor CPU load. The reason for
this is that the node 'tags/project1/version_0.1' at revision X is internally
stored as reference to the node 'trunk/project1' at revision X-1, i.e. there
is no copying going on.
Uli
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org