Our I.T. dept doesn\'t allow connections to the SVN server from outside the physical office. (They\'re just kind of like that.) I need to work on projects when I\'m not at t
As a last-ditch effort, you can always poke a hole in your corporate firewall with SSH. Look into "ssh tunnels" (and also, come to think of it, "poke a hole in the firewall" might be a good search term too). I think you'll want either the -L or -R ssh option, but I can't recall which or even if they're the right ones for sure. And if you're running windows, it's still possible to use the same exact technique if you install Cygwin first.
EDIT: Sorry I wasn't more clear on how this works. The option you want is -R. It opens a port on the remote machine (for listening). When something connects to that port on the remote machine, the connection travels back down the SSH connection to the local machine, then is fowarded on to the server of your choice in the local network. You could connect to your home computer from your work computer before you leave at night with SSH to open the tunnel. Then when you're working from home, you set your SVN working copy (using svn switch --relocate
) to point at your home computer. BTW, the SVN port is 3690 by default, if you're running the svnserve daemon.
Like meador said you could setup SSH tunnels to tunnel through your workstation in the office while you're at home, and gain access to the office SVN.
A great guide for setting up SSH on Windows can be found here: Cygwin SSH for Windows
I did this for a while to get remote desktop access until I was able to setup a proper SSH server with a port open on the firewall.
What you do is from your office workstation, make an SSH connection to your home machine, or optionally a dedicated home server. The parameters for that initial connection would provide a -R (remote) tunnel which is essentially allowing the remote machine to come back through the line on the specified port.
For example, if you issue the following command, all traffic which comes to port 1234 on the server will be forwarded to port 23 on the client. See Remote tunnel.
ssh2 -R 1234:: username@sshserver ^^ from SSH
Then on the home machine, you do something like svn://localhost:1234 and that would gain you access to SVN in the office.
*NOTE: I wouldn't recommend doing this without talking to your admins first, because they can get real touchy when you bypass their security... trust me, i know. ;-)
Have you read about git? it uses a local repository for offline work, and can be easily synchronized with a svn repo.
Two articles that explain how to do what you want.
I'd highly suggest your IT department set up a secure VPN, which would place you on their secure local network even when you're physically at another internet connection. It's incredibly tough to keep multiple-repo projects in sync.
As a workaround for an IT department that is not competent enough to do the right thing, Bazaar looks to be the easiest to use, most complete solution.
Take a look at Bazaar. It's rather less daunting than git, and has a useful-looking interface to Subversion repositories (via bzr-svn).
It will allow you to check out code from your Subversion repositories, develop independently (with local history), and check your code back in to Subversion as and when you need to.
You could use SVN with another (local) repository on your laptop. Look for the popular git or SVK. These allow you to commit to the local repository first and then sync all commits to the main SVN repository.