Re: CVS is dead
- From: Timothy Selivanow <timothy.selivanow@xxxxxxxxxxxxxxxxxx>
- Date: Fri, 28 Dec 2007 08:56:24 -0800
On Thu, 2007-12-27 at 17:19 -0600, Les Mikesell wrote:
Martin Marques wrote:
CVS has problems caused by all of the history being kept in a single
file (it doesn't understand directory operations like renames), but the
Oh, and the fact that commits are not atomic so that if two chagesets
collide (well, CVS doesn't have notion of changeset, only of single file
changes) very bad things can happen (one changeset locks a file that the
other changeset has to update) and you get a corrupt copy that has to be
fixed.
Subversion, git and Mercurial (and others) addressed this issue adding
atomicity to the chagesets (see that with these VCS files don't have
version there are changeset versions).
up side is that you can track development 'forwards' from any point.
Uhh???
$ hg up -r SOME_OLD_REV
Start from a tagged point in development. Branch several times for
different changes. Can you find all subsequent work?
This doesn't make sense from a SVN paradigm, and I'm pretty sure it's
just a difference of semantics. You _can_ d/l the entire repo, or if
you want to, follow revision numbers and see what was done. SVN keeps
trunk, tags, and branches isolated; if you follow the revisions of just
trunk, you only see the revisions of trunk.
(same with svn or git-update).
With svn, there's no way to start from an earlier tag and follow
future tags/branches of that same file.
What? Les do you really know what you're talking about?
I'd like to hear that I don't. With CVS, if you have any of the
development you have all of it. With svn, tags are (by convention) dead
end snapshots and there is no way to track forward development. Assume
you worked on something some time ago, ending by creating a certain tag.
Now several other people create branches for additional work. How can
you tell that, starting from the tag you last knew about? You could
start from any of the branches and work backwards but you can't see what
branches were created or when going forwards.
Yes, tags are by convention a dead-end. The concept of a "tag" is also
at the root of the concept of a "tagged release". I would say that by
convention, a release won't have anymore development done on it.
Branches are for the ability of making (possibly radical) changes
without disrupting the main trunk. Some branches merge back into trunk,
some don't.
This must be even worse in distributed VC's where the changes might
not even exist in your copy of the repository. Doesn't it bother you
to know you might be repeating someone else's mistakes because you
can't track all the other changes from a given point?
What mistake if it's not in the repository?
That's the point - you won't know.
A SCM is not a replacement for communication and normal team dynamics.
It is a tool to /help/ with managing and tracking changes to source
code.
The same thing would happen with CVS if you were coding without
commiting to the main server. Nobody will be able to know what you are
doing. Same if your coworkers don't update regularly. How can they know
what you fixed?
If you aren't committing to the central repository, you aren't using CVS.
In distributed VCS you use pull and push for this.
How can you tell whether that was always done or not?
--
Les Mikesell
lesmikesell@xxxxxxxxx
That all said, if you like CVS, you like CVS. If an organization (i.e.
Fedora) wants to use a specific SCM, I'm sure there are reasons for it.
I would hope that in deciding what tool to use, one would weight all the
features and match them with your work habits/procedures/policies.
There's more than one way to skin a cat for a reason.
--Tim
_________________________________________________________________________
/ In Africa some of the native tribes have a custom of beating the ground \
| with clubs and uttering spine chilling cries. Anthropologists call |
\ this a form of primitive self-expression. In America we call it golf. /
-------------------------------------------------------------------------
\
\ \
\ /\
( )
.( o ).
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
- References:
- how to jigdo download a fedora 8 re-spin in one easy step?
- From: Robert P. J. Day
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Martin Marques
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Robert P. J. Day
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Robert P. J. Day
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Ed Greshko
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Robert P. J. Day
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Ed Greshko
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Robert P. J. Day
- Re: how to jigdo download a fedora 8 re-spin in one easy step?
- From: Karl Larsen
- CVS is dead (was: how to jigdo download a fedora 8 re-spin in one easy step?)
- From: Martin Marques
- Re: CVS is dead (was: how to jigdo download a fedora 8 re-spin in one easy step?)
- From: Michael Schwendt
- Re: CVS is dead (was: how to jigdo download a fedora 8 re-spin in one easy step?)
- From: Robert P. J. Day
- Re: CVS is dead
- From: Martin Marques
- Re: CVS is dead
- From: Robert P. J. Day
- Re: CVS is dead
- From: Martin Marques
- Re: CVS is dead
- From: Les Mikesell
- Re: CVS is dead
- From: Martin Marques
- Re: CVS is dead
- From: Les Mikesell
- how to jigdo download a fedora 8 re-spin in one easy step?
- Prev by Date: RE: Firefox+flash don't load page correctly in F8 - same versions in F7 do
- Next by Date: Re: Where do you put all your HTML stuff on a home Linux server?
- Previous by thread: Re: CVS is dead
- Next by thread: Re: CVS is dead
- Index(es):
Relevant Pages
|
|