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, no registration required.

I have worked as a developer for over 10 years now. During that time I have had my own small projects where I have developed tools, applications and games. I have not found any robust solution to store my work. It’s always fun to get back to your code and see how you did before and how you would do it now. It’s just work that is unfortunate to lose. There are SVN solution such as Google’s Project Hosting. However I’m not interested in sharing my code or making it open source. Currently I’m hosting my own SVN server. So here comes my question:

How and where do you store your private work/sourcecode?

Requirements:

  • Sourcecode versioning
  • Backup
  • Prefers free
  • Edit: Remote access

Edit: I have used Dropbox + TrueCrypt + SVN. Unfortunately you are limited to 5gb.

share

locked by maple_shaft Jun 16 '13 at 13:31

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

    
What are you writing, that 5 GB is a significant limitation for source code? –  David Thornley Jan 12 '11 at 20:00
    
@David Thornley I wrote a photo editing program for example that added frame to pictures. Does frames/images take some space. –  Amir Rezaei Jan 12 '11 at 20:09
comments disabled on deleted / locked posts

15 Answers 15

up vote 7 down vote accepted

On my machine with Subversion.

Backups created and stored on an External HDD (Onsite)

Backups emailed to myself in GMAIL then tagged 'xxxx BACKUP' for easier retrieval (Offsite)

share
1  
Nice backup solution! Do you email manually? –  Amir Rezaei Jan 12 '11 at 7:25
    
@Amir Rezaei Thanks. Currently manual, but now that you mention it, I think it is time to start some research to automate that :) –  Dan McGrath Jan 12 '11 at 7:32
    
I do much the same. Cheap, simple, and good enough. –  quickly_now Jan 12 '11 at 7:34
    
I do the same, but I hadn't thought of GMail attachments. Nice idea! –  Travis Christian Jan 12 '11 at 17:29
add comment

Bitbucket uses mercurial (hg) and provides unlimited private and public repositories. It is free if you're not sharing your projects. Each project may also have a tracker and wiki associated with it (optional). Other than that, the service provides both HTTP and SSH uploads.

I use Bitbucket to synchronize and keep personal projects of my own. Since I move around between different computers, I found the distributed version control to work quite nicely for that.

share
    
+1 For mentioning bitbucket. Just exactly what I was going to answer. –  dukeofgaming Jan 12 '11 at 20:52
    
+1 I use Bitbucket, too. For the "backup" part, I wrote a tool that clones all my repositories from Bitbucket to my local machine. So if Bitbucket ever goes out of service, I have the newest version of all my projects backed up in one place. –  Christian Specht Nov 22 '11 at 13:59
2  
Oh, and Bitbucket now also supports Git repositories! –  Christian Specht Nov 22 '11 at 14:00
add comment

Why not using a local GIT/SVN repository created within a DropBox (http://www.dropbox.com) directory?

This way you will have the plus of a local version control AND the plus of a cloud solution; you can work on different machines and if you're not connected, everything will be resync when you'll go online (you might have to pay some attention to avoid committing on two different machines while you're offline)

share
    
@Remo.D I have used Dropbox + TrueCrypt + SVN. Unfortunately you are limited to 5gb. –  Amir Rezaei Jan 12 '11 at 8:22
    
Note that the git repository in DropBox can just be a separate repo instead of your working one. This would require the extra step of pulling/pushing to that repo, but it could be a useful/preferred approach for some. –  George Marian Jan 12 '11 at 10:40
    
@Amir. Yep, if you have more than 5Gb of personal source code to keep under configuration, I would definitely suggest hosting your own server somewhere or using a paid service. –  Remo.D Jan 12 '11 at 10:48
    
+1 for the Dropbox auto-backup solution. The new Selective Sync feature they're about to roll out should make it easier to link a repo folder to only one host for cloud backups. –  Evan Plaice Jan 12 '11 at 18:14
    
+1 for this. It also makes switching between a laptop & desktop easy. –  GSto Jan 12 '11 at 21:27
show 1 more comment

GitHub has a micro edition for $7 a month with 5 private repositories.

Not tried the paid for version, but their free offer is really nice.

share
1  
It's not a bad deal for 5 private repos, IMO. 400MB will go a long way. –  greyfade Jan 12 '11 at 8:39
    
+1, 27 public repos and counting. It's a great service. And even though the learning curve from Subversion is steep, it's amazing how much better Git is for speed, control and offline work. –  l0b0 Jan 21 '11 at 8:46
add comment

Kiln from Fogcreek

There is a free version that allows for two developers.

share
add comment

You can use git locally on your machine, and as long as your are doing backup on an external HDD or some other solution, you'll keep your repository history private.

However, it is inherently less safe than a cloud solution in case of fire, flood, etc.

It is more or less equivalent of using a private SVN server but without having to use a server.

share
add comment

I have created a Mercurial repository on a separate NAS at home. Which I then push any changes to https://bitbucket.org/ using their free account.

At present Bitbucket the free account provides unlimited storage, unlimited public and private projects, issue tracking, wiki, api support, custom domains, & downloads. Free Accounts are limited to 5 users

I also have a few bits of very old code zipped up and stored in my DropBox account.

share
add comment

For stuff that has to be private for some reason or another, it gets stored in a Git repository on my machine that is:

  • Synced via pushes to a webserver running Gitolite. Repositories are accessible through Redmine.

  • The webserver backs up to S3 at regular intervals using a cron job that invokes duplicity.

Duplicity is definitely the special sauce in the equation---it provides incremental backup and restore, can work over a wide variety of protocols and can encrypt your backup with GPG if you want to make sure no one looks at it.

Everything else lives on GitHub.

share
add comment

If you're willing to spend some money, take a look at Beanstalk. They offer SVN and Git hosting (I hope they will add Mercurial at some point). The app is well designed and is easy to use; setting up a new repository is a really simple activity. I use it for a number of private SVN repos and am satisfied.

Going from the pricing page, the low-end option is $15/month, which is not an onerous amount in my eyes. They also offer a single-repo "trial" option.

share
add comment

Well I use several places :

  1. My computers : I makes sure my repositories are up to date on several computers I'm using (laptop + desktop + a tower I use as a toy server).
  2. A dedicated server online : I have my websites (and TRAC and Redmine) hosted there and I also put repositories there. It's also useful for teamwork on private projects.
  3. Google Code (the others don't fit my criterias) for public open-source projects. I setup a script on my dedicated server to pull changes from the public repo automatically. Just in case.
share
add comment

I used to use a SVN on my private web server because it coexisted so well with the office CVS, but soon or later, there was always a problem, so personally for recent projects, it's Dropbox for Teams (has more space than regular Dropbox) for instant sharing + CrashPlan Pro every 15 minutes for secondary backups (one online, one on a dedicated USB drive and one on the secondary internal IDE drive).

On top of that, there is the customer's source code system, but that depends on the client, sometimes SVN, sometimes CVS.

share
add comment

I do my own versioning for now for my own projects (usually saving a unique copy of the project every day I am working on it) -- probably should switch to some sort of source code control system to save space.

So far size has not been an issue as I have a 2 TB (1 TB x 2) RAID 1 drive LaCie 2big Quadra 2 TB 2-Disk RAID Hard Drive 301352U which I bought 16 months ago for $300 (it is now $285). All of my source, documents and desktop are backed up every night. Having the security of a duplicated backup in addition to my local PC copy is nice. Still screwed in case of a fire I guess, probably should backup selected directories on-line somwhere also.

share
add comment

You can also use Assembla's free private hosting. http://offers.assembla.com/free/ I am currently using it and find it very helpful.

share
add comment

Free private SVN repositories: http://stackoverflow.com/questions/59791/free-online-private-svn-repositories

share
    
the link in your answer refers to deleted question at SO –  gnat Jun 16 '13 at 6:32
add comment

Xp-Dev.com I use for free subversion, it's a little slow for me from Australia though so I may swap, but might be good for US based users.

share
add comment

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