views:

524

answers:

9

what tool do you use if you want to synchronise a workspace between two PC's?

For example you have a work PC and a laptop and would like to switch easily between working on one and the other at the end of the day. The Work PC has network (subversion) access, and the laptop does not so I am looking for some way to synchronise files between the two.

+2  A: 

The tool of choice is rsync . It will synchronize your files/folders between your laptop and your PC.

To synchronize your source files, however, i would recommend a version control system. git (especially recently. managing the linux kernel, freedesktop.org repositories for example) and Subversion (managing KDE for example) are quite popular.

Johannes Schaub - litb
+2  A: 

what exactly is it that you want to synchronize? I find that as a programmer, as long as I keep all my projects in source control and the same tools (IDE, etc.) installed on both, I can easily switch with no problem

Joel Martinez
A: 

In the past I have used FolderShare (http://www.foldershare.com/) very successfully. It syncs peer to peer between multiple computers, and allows you to log in and access files remotely when you are away from home.

I have used it to sync between a desktop at work computer and a desktop and a laptop at home. You don't even need to take the laptop into work to sync it - it's all done remotely, although it is faster initially if both computers do start with a copy of the same files. That way FolderShare doesn't actually have to copy all the files across from one to the other, but will just keep them in sync from then on, regardless of which copy you update.

FlderShare is now owned by Microsoft and is due to be replaced in December by Windows Live Sync, which is essentially an upgraded version of FolderShare.

Sarah
A: 
  1. Subversion works for development stuff.
  2. Live Mesh for the rest of files.
+1  A: 

Rsync is fine, but if you want a nice GUI, try Unison.

Seiti
+1  A: 

If you have connectivity between the two, the answers by @litb and @Joel Martinez are good ones.

If you don't have connectivity (like in some Financial Services companies or places with restrictions on connectivity with a personal laptop) I've used a jump drive with my IDE configurations and the latest checkout on it.

You'd be amazed (or maybe not) what you can get on a 2Gb Jump drive!

Ken Gentle
How do you sync the latest checkout to the jumpdrive?
Daniel Alexiuc
I've done this on two different gigs: one I used an `ant` script (but any of the tools mentioned here would work), on the later one I actually used the jump drive both places so I wouldn't _have_ to sync it. Not as fast as local HDD access, but usually as fast as a network share.
Ken Gentle
Clarification: I used the jump drive as the checkout-dir and IDE project dir on the second gig so synchronization wasn't really necessary.
Ken Gentle
aha! that's not a bad idea at all. Does this cause any performance issues in the IDE or is there any other unexpected difference to having the project directory on hard disk?
Daniel Alexiuc
At the time, I had a rather slow Jump drive - there was a bit of sluggishness on startup and on some multi-file operations. Newer, faster drives will make this less of an issue. BTW, there are Linux distros you can configure to run off a jump drive, so you could have a whole dev environment on it!
Ken Gentle
A: 

I use the SyncToy Power Tool from Microsoft to archive my development workspace to a network drive. I think it can be used to do what you want. Free, as in beer.

tvanfosson
A: 

The Work PC has network access, and the laptop does not

So, they can't network together? It depends on what IDE you're using, but I'm fairly sure if you are using Eclipse you can just copy (or rsync) your workspace dir onto a thumb drive and the copy (or rsync) it over to the other computer. While Eclipse isn't running.

SCdF
I guess potentially they could network using bluetooth or something, but the laptop doesn't have access to the company network.
Daniel Alexiuc
+1  A: 

I have been using SugarSync for a while for backups and stuff, and realized a few months back that it also works just fine for development environment, it's there running all the time, and don;t even think about sync anymore.

webclimber
I use the same thing and it's great. Great price and quite reliable. Check it out at www.sugarsync.com. I have no affiliation with them but I highly recommend them.
ErocM