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

Re: Move from CVSNT to SVN?

From: Les Mikesell <lesmikesell_at_gmail.com>
Date: Thu, 10 Sep 2009 13:59:23 -0500

Andrey Repin wrote:
>
>> Hmmm ... not sure I understand this concept entirely. I basically use a CVS
>> tag every time I do a build or a release to "mark" the version of all files
>> required for that particular build. 99% of the time, this tag is a one time
>> thing. However, it does happen every-so-often that a build fails b/c
>> someone forgot to check in a file. So instead of giving it a new build
>> number once the file is committed, I just retag with the same tag name and
>> perform the build. Would that concept/workflow cause problems in SVN?
>
> This is much less likely to happen with Subversion in general. As I said, each
> revision slicing the *whole repository* at a certain moment of time, which is
> supposed to be a complete and functional state. Yep, it's not certainly true,
> but since it is a complete state, you can always tell that "in this state a
> building process fails due to this issue, guys - get to work and resolve it".

A revision number recalls the state that the repository was in when a
certain transaction completed which doesn't necessarily imply anything
about the usability at the time. In CVS you would normally tag the
repository versions that match your workspace so you could subsequently
reproduce that workspace state, and you can do that by either adding a
new tag name or by 'floating' an existing tag to that position. To get
the same effect in subversion you might have to delete an existing tag,
then copy your workspace to a tag - which really isn't a very good
practice since you can easily include things that aren't committed
elsewhere.

> At the time you see a revision worth branching to the /release, you run last
> checks over it and if it is suitable, you "tag" this revision to appropriate
> place in repository. It does not need a floating tags to continue your work
> tomorrow, the revision umber already has this function for you. Even if there
> was commits after the desired revision, you can still refer to the desired
> revision and finish your work in one way or another.

But the point is that you need to know this revision number to use it
for anything. With the floating CVS tags you could embed a known name
(like RELEASE, RELEASE-1, RELEASE-2) and float the names to appropriate
revisions to be picked up by subsequent processing. With svn, you have
to pass revision numbers or tag names around or do something strange
like deleting tags (which aren't really deleted except for the HEAD
view) in the repository. That's not necessarily a bad thing, just
different.

-- 
   Les Mikesell
    lesmikesell_at_gmail.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2393399
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-09-10 21:00:15 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.