You're gonna think this is crazy, but I do exactly what you need with the use of CVS.
I work from home one or two times a week so I have a cvs repository on a Windows XP workstation (TortoiseCVS is very convenient), and then with a Win2k notebook I plug into the same network at work, and did a cvs checkout by mapping the C

(using the admin C$ share) as G

on my laptop (they both have the same user/pass). The repository is in C

repository on the workstation and G

repository on my laptop. This is for Java source code so before I work from home I just do a checkin/commit on the workstation and update on the notebook. I do the reverse when I get to work after working from home. It's a great system for me. I then, unfortunately, commit the finished files to a Clearcase server (bleh).
Hope this helps.
By the way, I do this with documentation files as well...
Sorry this is a little offtopic, but Samba accross the net not piped through ssh is VERY unsafe.