0

We are looking at adopting Subversion for a large existing (internal) commercial project. Currently the source is only rudimentarily controlled with some home rolled scripts. All my previous experience has been with proprietary VCSs.

At the moment, a programmer checks out whatever files they need for a bug fix or enhancement request and the files are inserted into a folder under their home directory in an empty skeletion that matches the actual system (i.e. is unpopulated). This home directory is in their path directly before the main system directory. In this way when testing, the individual programmer will run their newly modified program in preference to the existing code with the other 99% of the system remaining in the common area which is accessed by everyone.

The system has been previously rolled out and currently lives in four different environments (devel, test, training and live). It is now under maintenance and bug fixing mode and is looked after by a team of six.

We are looking at bringing the devel workspace under Subversion control. It currently has some 50,000+ source code files in a pretty flat tree that looks like this:

product
      GL
         gl001.p
         gl002.p
         gl003.p
      AR
         ar001.p
         ar002.p
         ar003.p
         ar004.p
      AP
      etc etc

Some of the folders do go deeper but most of them are a single level.

Questions:

  • Is subversion a suitable means of controlling a project of this size?
  • What's the story with checkout? Does subversion allow a single (or a few) programs to be checked out? For example, if I only wanted to modify gl001.p in the above example, could I just check it out alone?
  • Does anyone have any suggestions as to a better tool for the job?

I'd appreciate any input at all on this subject - we don't want to commit ouselves to the job and then find out it all goes pear shaped.

Thanks and Regards

Nigel.

prosmart
  • 54
  • 7

2 Answers2

0
  • This is an easy job for Subversion.

  • In Subversion, checkouts are made at the directory level. You can check out any directory you want.

  • This sounds like a great job for Subversion.

One exception might be if you had tons of large binary files in your repository, but it doesn't sound like that's the case.

Git, Mercurial, and CVS are three other common version control systems.

If I was starting out with SVN, I'd want to check out some of this stuff:

Community
  • 1
  • 1
jahroy
  • 22,322
  • 9
  • 59
  • 108
0

Is subversion a suitable means of controlling a project of this size?

certainly

What's the story with checkout? Does subversion allow a single (or a few) programs to be checked out? For example, if I only wanted to modify gl001.p in the above example, could I just check it out alone?

you have to checkout GL to do that.

Does anyone have any suggestions as to a better tool for the job?

Subversion is a pretty mature tool. Lots of good open source graphical frontends for it. I think it can do the job. Not using such a tool in this kind of project is risky.

Leo
  • 6,480
  • 4
  • 37
  • 52