Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

As a research scientist, I divide my code broadly into (1) Cohesive projects and (2) one-off scripts that perform an isolated task. I manage code from category (1) using a DVCS like git or hg in tandem with github and bitbucket and this works quite well for me.

I would like to use a DVCS for category (2) and I am looking for suggestions on a good strategy to do so. The problem is that all of these scripts are scattered throughout my file system, usually living in a directory related to the data that they work on. It doesn't make sense to have a repo for each script as this would totally clutter my github/bitbucket accounts. On the other hand having one massive repo with random scripts seems like a mess keeping track of where each script contained in the repo is suppose to operate, and giving them descriptive names might be difficult given their specificity.

Does anyone have experience managing random scripts in a sensible way that works well for them using a version control system? Suggestions would be most appreciated.

share|improve this question

3 Answers 3

Is the distributed angle important here? If not, svn handles this scenario very well as you can check out parts of the tree independently. We use this stack to manage admin scripts and configuration files for a widely distributed enterprise network.

And now that 1.7 is out you get a single .svn folder per checkout.

share|improve this answer
It's only important so much as I currently use git and hg and would prefer to continue using those technologies along with bitbucket/github –  JoshAdel Oct 19 '11 at 18:36

Is the data that you're working with generated by any of your "cohesive projects"? If so, I'd create a scripts/ directory in the repository for the project, and add the one-off scripts that operate against its generated data in there.


share|improve this answer

I put most of my scripts in a single git repo with a single checkout, and then I create soft links to them in /opt/bin. You could create the soft links closer to the data the scripts process, though.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.