[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Branches and tags

From: Ulrich Eckhardt <eckhardt_at_satorlaser.com>
Date: 2005-06-02 09:33:14 CEST

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
Received on Thu Jun 2 09:34:09 2005

This is an archived mail posted to the Subversion Users mailing list.