tags:

views:

306

answers:

5

I mostly develop on windows.

I'm the only developer, the only thing I'm confused about is how can I carry them with me where ever I go. I don't want them on some server on the internet. Because I sometimes have to work offline for days (or sometimes painfully slow connection).

Mostly I carry the project on a portable device. So when I get back home I want both my PC version and Portable version of the project to be synced with changes and history.

Sorry if it's a bit confusing. That's the best I could put it.

Thanks for any help!

+11  A: 

You can put an SVN repository (which is just a folder with some files in it), on a local drive, or an external hard drive too. I've been using something like this for quite some time and it's worked really well.

I can't make any comment about whether it's better than GIT or any other VCS system, but I've found SVN to be really quite good. The documentation and supporting tools that have been built for it (eg: TortoiseSVN) are really good.

nickf
Also from what I've read git is currently still a PITA on Windows. They're working on it but they're not there yet, iirc. And agreed, so far I also had no problems with SVN.
Joey
Thanks, will try it! I'm pretty new to version control systems. Any good editors that will go well with it.?
saint
Most development environments have various plugins with support for version control systems. Some text editors might have, too. However, I find myself mostly using TortoiseSVN from an explorer window because of its relative ease of use compared to most solutions for IDEs.
Joey
I found that netbeans really integrates well with svn, both on linux and windows
saint
+2  A: 

+1 for nickf's recommendation.

Two things to make starting out with it easier (for Windows anyway):

One-click install of both together: http://svn1clicksetup.tigris.org/

Visual SVN Server: http://www.visualsvn.com/server/

Jamo
I just tried it out. I recommend this to anyone starting VCS, makes whole thing a breeze. Thanks.
saint
Glad it helped! :-)
Jamo
+4  A: 

Mercurial is also pretty nice, and there is even a Visual Studio source control provider for it (which I've never tried, but it exists!). It's fast, it's free (as in beer and in speech) and it's distributed, which means that it should handle merges between different computers well - better than Subversion even, I'd wager. It's also being used by some fairly large projects, including Mozilla, the OpenSolaris and OpenJDK teams at Sun, and (soon) the Python project itself.

clee
+3  A: 

Sounds like a distributed version control system like GIT or Bzr might be what you are looking for, you can keep all of your code locally (setup the repository on your external storage device) but you still get the option of branching and merging. Plus if you do find yourself in the situation where you need to share with another developer they can just get a local copy of one of your branches.

daz-fuller
+1  A: 

Git is what you're looking for.

  1. distribution - you mentioned you wish to be able to have version control even when you're network is down.

  2. syncing - merging in git is painless unlike SCMs like CVS or SVN.

I use git on windows, and it works great for me.

Joel