Tell me more ×
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|improve this question
show 2 more comments

closed as not constructive by Mark Trapp Jan 23 '12 at 21:04

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

16 Answers

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|improve this answer
1  
Nice backup solution! Do you email manually? – Amir Rezaei Jan 12 '11 at 7:25
show 3 more comments

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|improve this answer
2  
Oh, and Bitbucket now also supports Git repositories! – Christian Specht Nov 22 '11 at 14:00
show 2 more comments

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|improve this answer
show 6 more comments

Kiln from Fogcreek

There is a free version that allows for two developers.

share|improve this answer

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|improve this answer
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
show 1 more 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|improve this answer

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|improve this answer

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|improve this answer

external 500 gb drive with appropiate folders

share|improve this answer

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|improve this answer

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|improve this answer

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|improve this answer

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|improve this answer

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|improve this answer

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|improve this answer

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