Re: [PHP] Controlling project version



Chris wrote:
Miguel Vaz wrote:

Hi,

I recently finished a project for our local city hall and some
people asked me to do some version control for future updates. They
suggested the use of a linux script called Recursive Version Control,
which i never even heard anything about.

Sure you don't mean RCS ? http://www.gnu.org/software/rcs/ Never used it.

Sure you have, you just don't realise it.

What do you guys/girls use out there? Subversion? CVS? Is there a
point in using some linux script versus a "proper" program?

You won't get any sort of revision control with just a script, you need
a "proper program" like either cvs or subversion or one of the others
(some are commercial - eg bitkeeper).

I fail to see the difference between "just a script" and "a proper
program", but regardless...

I use cvs at work (because it was more mature at the time I set it up)
and subversion at home.

CVS wraps RCS, so you have used it!

They are close enough that what you know in one will work in the other
for the most part.

Subversion has a few more features (eg renaming a folder in the
repository).

There's a little more to it than that. In CVS folders are not tracked at
all. In Subversion they are treated like files, and therefore have their
own history. One of the major effects of this is that you can have empty
folders in your repository - something I usually have in most of my
projects, but that CVS insisted on having a file inside before it would
retain the fact the folder exists.

I don't like the branching in subversion, it's a lot easier to work with
in CVS.

That's odd since this is one of the major advantages that Subversion has
over CVS (for me at any rate). When you branch or tag in CVS it will sit
there and create a copy of every single file in the repository.
Depending on the size of your projects this can take a while.

Subversion can create a tag or a branch instantly regardless of the size
of the repository. It does this by using a mechanism akin to pointers.
It doesn't actually create a copy of the files until you commit a change
in a tag or a branch.

Personally I used to use CVS until I discovered Subversion, and I've
never looked back. However, I am now looking forward and have recently
started playing with Git. Git is something of a paradigm shift when
compared to "traditional" source control, but the way it works is
starting to make a lot of sense to me. I suggest you include it in your
evaluations before deciding on a source control system.

http://git.or.cz/

-Stut

--
http://stut.net/
.



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: Version control
    ... because I am no longer the only person using it and the repository ... commandline combined with the GUI of Tortoise CVS. ... server, no stupid windows admin will mess with it (there is also a Windows ... Lately I have looked into Subversion, ...
    (borland.public.delphi.non-technical)
  • 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: Visual Studio with 3 developers and same projekt
    ... I have enjoyed Subversion more. ... project I worked on with CVS, I was not in control of the Repository. ... something happened during a commit you'd be left in a mixed state with some ...
    (microsoft.public.dotnet.languages.csharp)
  • 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)