Re: Version control

From: Thomas Mueller (news_at_s2h.cx)
Date: 08/31/04


Date: Tue, 31 Aug 2004 18:58:45 +0200

Hi,

Peter Morris wrote:

> What I'd expect to be able to do is

> 1) Create a project
> 2) Add files to the project
> 3) Add sub folders to the project, and add files to those
> 4) Add folders to the project which are above it in the folder tree (for
> shared libraries etc) eg, ..\..\Shared
> 5) Label projects
> 6) Compare changes in a file from one label to another
> 7) Revert back to any version I like

> Anything I have missed?

You missed the whole branching and merging issue.

> What would you recommend? What are the pitfalls
> with the software you currently use?

At work we currently use two different systems:

1. Microsoft Visual Sourcesafe, because it came free with MS Visual Studio.
I loathe it because it gets more in the way than help in the developing and
source code managing process. But some of my colleagues love it because of
its integration into MSVS. Most of them are Visual Basic programmers, so go
figure. ;-)

2. cvs (concurrent versioning system, Open Source), because when I started
using it nobody complained about it fast enough and now it is too late to
change, because I am no longer the only person using it and the repository
has grown quite a bit. ;-) I like it because it gives me the power of the
commandline combined with the GUI of Tortoise CVS. It is a stable system,
backups of the repository are easy and since it is sitting on a Linux
server, no stupid windows admin will mess with it (there is also a Windows
version and it can be used without a server, using a local directory for
the repository). Unfortunately it has a few deficiencies, like you can't
rename/move a file/directory without loosing its history (move = copy +
delete).

Lately I have looked into Subversion (also open source), which is relatively
new and tries to become the successor to cvs. I like it very much. Like cvs
It has got a commandline interface as well as a GUI in the form of Tortoise
SVN. It is really well thought through and fast. For example, you create a
new branch just by "copying" one directory in the repository to another,
the same way you create a tag. Since everything is stored in a database
copying stuff is a very cheap operation that will create links rather than
creating a real copy. Of course it supports renaming and moving files and
directories.
(This might sound rather confusing, but trust me, the concept is very simple
and once you got it, you will find other systems unnecessary complex.)
Subversion can be downloaded from http://subversion.tigris.org and there is
also a book about it which is available online at
http://svnbook.red-bean.com/
Subversion, like cvs, can be used with a Linux or Windows based server or
just with a local directory for the repository.

You might have noticed that I like Subversion a lot. ;-)

I use it at home for my (Kylix and Delphi) programming stuff (with a server
at http://www.cvsdude.org) and for my homepage sources (with a local
directory to store the repository).

twm



Relevant Pages

  • Re: Xcode and Subversion
    ... Subversion aims to be a 'better CVS than CVS'. ... All CVS and Subversion clients access a master ... repository: changes are committed to the repository by one client, ...
    (uk.comp.sys.mac)
  • Re: Setting up a repository
    ... and want to have a repository. ... >> a team environment, I like the comfort of being able to go back to previous ... >> read is about getting connected up to some other machine running CVS. ... > I would highly recommend that you consider Subversion instead of CVS. ...
    (comp.sys.mac.programmer.help)
  • Re: Im searching for a my first version control system
    ... I 've never used a version control system. ... I'll go against the general trend here an recommend CVS. ... the Subversion home page. ... saw repository corruption with BDB either, but I stopped using the BDB ...
    (comp.programming)
  • Re: Delphi version control
    ... Actually CVS and Subversion are very good for situations like that. ... >version control system on memory stick, ... archival backups of the repository about once a month. ...
    (comp.lang.pascal.delphi.misc)
  • Re: Version control - one document; two locations?
    ... I've never used subversion, and I have only the vaguest idea what it ... I have an svn server running on ... repository remotely. ... My real adress is at es dot aau dot dk for user tha. ...
    (comp.text.tex)