Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

NOTE: this has nothing to do with git/version control. I cannot push a repo every time I make a change to source files :) This is about syncing. I already use git on top of this.

What I am trying to do is synchronize my work across my home network which currently only consists of my desktop running Windows 7 and my laptop running Ubuntu 10 using SMB for file share.

Ideally I want to use my laptop as a server, and a self-contained development environment in itself.

What I've tried:

IDE with link to network location to edit files directly

This works, and changes will show up instantly of course but problem is with an IDE all the indexing and such make it painfully slow. Plus, my server is the only source for my files which can't be good.

Sync software

Again, works, but the changes do not appear immediately as the sync software usually performs scans, plus the software usually doesn't work on both Windows 7 and Linux.


Which of course is sync software but uses an online storage. The only problem I can see here are the paths. Where everything is inside 'Dropbox' folder doesn't seem like it is meant for source code management.

Upload on save

Which I guess is probably the most viable solution. However, doesn't offer 2 way synchronization.

To spell it out..


desktop - has IDE
laptop/server - has source

edit file from IDE on desktop, changes are 'almost' instantly reflected on laptop/server. I can then carry my laptop anywhere with or without internet access and I have a portable server.

Any ideas?

share|improve this question
up vote 0 down vote accepted

I assume you were sharing via SMB from the Ubuntu Notebook. Perhaps NFS would perform a little better?

There is a Win7 NFS client available from Microsoft here:

share|improve this answer
NFS looks interesting. Do you have any info on how it might perform better? It took me a long time to finally get SMB working and if the performance boost will/might be minimal I'd rather leave it. Do you not think a real-time sync would be good? Ideally editing them remotely on the network would be great, but the performance is shocking using an IDE (or the ones I've tried) for that. – Damien Roche Mar 17 '11 at 16:42
NFS tends to be less chatty overall, especially when dealing with many files, and you can tune the block size to maximize performance. We use NFS exclusively for some fairly massive database clusters where I work, and it's limited only by the speed of the serving drive. It's surprisingly hard to find decent benchmarks of SMB vs. NFS performance, but here's one that's fairly representative of what I've seen: - Note that NFS is almost 4x faster than CIFS in his tests. – Hyppy Mar 17 '11 at 17:10

CVS, then Subversion, and now Git have served faithfully in keeping my cloud backups, settings, and documents safely backed up for the last six years or so. Git is great for this sort of stuff - TortoiseGit on Windows and git-gui + qgit on Linux are good if you don't want to handle the full complexity (and flexibility) of the command line tools for the moment.

In contrast, reading the same physical files on all machines is extremely risky - All it takes is a single data loss bug in one application, or a hasty rm, and you're one set of important data poorer. Backup is OK, but I find the small extra hassle of version control is well worth it.

share|improve this answer
I use git for version control so I do have backups. This is more to streamline the process of editing files. I can't push every time I make a change to see that change on the laptop/server. – Damien Roche Mar 17 '11 at 16:40

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.