What Is The Proper Location For One-Offs In VCS Repos?

Posted by Joe Clark on Stack Overflow See other posts from Stack Overflow or by Joe Clark
Published on 2010-01-24T06:46:44Z Indexed on 2010/03/29 1:43 UTC
Read the original article Hit count: 471

Filed under:
|

I have recently started using Mercurial as our VCS. Over the years, I have used RCS, CVS, and - for the last 5 years - SVN.

Back 13 years ago, when I primarily used CVS and RCS, large projects went into CVS and one-offs were edited in place on the specific server and stored in RCS. This worked well as the one-offs were usually specific to the server and the servers were backed up nightly.

Jump forward a decade and a lot of the one-off scripts became less centralized - they might be needed on any server at some random time. This was also OK, because now I was a begrudging SVN user. Everything (except for docs) got dumped into one repo.

Jump to 2010. Now I am using Mercurial and am putting large projects in their own repo again. But what to do with the one-offs?

The options as I see them:

  • A repo for each script.
  • It seems a bit cluttered to create a repo for every one page script that might get ran once a year.
  • RCS
  • Not an option. There are many possible servers that might need a specific script.
  • Continuing to use SVN just for one-offs.
  • No. There no advantage I see over the next option.
  • Create a repo in Mercurial named "one-offs".
  • This seems the most workable.

The last option seems the best to me - however; is there a best practice regarding this?

You also might be wondering if these scripts are truly one-offs if they will be reused. Some of them may be reused 6 months or a year from now - some, never. However, nearly all of them involve several man-hours of work due to either complex logic or extensive error checking. Simply discarding them is not efficient.

© Stack Overflow or respective owner

Related posts about version-control

Related posts about repository