Tim Purkerson wrote:
>If we were starting to work on release 1.2 of a product we
>would set a floating label "Release 1.2" on the latest revision of all
>of the source files. All checkouts and builds from then on would use
>this label to get the correct source file revisions.
>
Just a quick note to add to what others have already said, because some
people may balk at first at the thought of making a copy of your entire
repository to do a tag or branch. That would be an insane waste of
resources in most version control systems, but one of the major design
principles of Subversion is that copies are an O(1), or constant-time,
operation.
That means that whether you are copying one file or your trunk directory
of 100,000 files, it takes the same amount of time. It also takes very
little room in the repository, because it is implemented using links
within the database. So while it might sound extreme at first to copy
your entire development tree in order to apply a label, it is not only
very easy to do, but also lends itself very well to being able to work
with just that label.
Even though copies are implemented using links at first, as soon as you
make changes in one place or the other (for example, in /trunk or in a
label), Subversion automatically breaks that link for the affected files
internally. But all that happens in the background and you don't need to
worry about it.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Aug 6 20:38:13 2004