tags:

views:

98

answers:

6

We have a Subversion server running at the company I work for holding various repositories. The subversion server is not available outside of the companies internal network.

Is it possible for me to work with code that has been checked out of a Subversion repository on this server from home? The home PC has no direct access to the Subversion server so I would need to check the code out at work, transfer it to my home PC via other means, and then do the opposite the next day when I want to check the code back in.

Is it as simple as taking a copy of the entire Working Folder and transferring that to my home PC and back or am I just getting my hopes up?

I am working with Windows PCs using TortoiseSVN as the Subversion client on both my home PC and works PC.

+5  A: 

Yes its possible. You can copy the entire working folder to another computer and modify files, then copy it back and commit. As long as you do not interfere with any of the .svn files in the folder.

Vincent Ramdhanie
Cool, would I essentially have two working copies checked out then that could be worked on individually? For example I checkout the code and do some changes at home. I don't get round to checking that code back in for a couple of days, in the meantime I make changes to my original working copy (at work) and check those in.When I come to check-in the changes I made at home can they just be copied to another folder on the work PC and checked-in?
Craig Bovis
You can have as many working copies as you want. Just consider yourself as two developers that are both working on the same svn server but obviously will have individual checkouts.
bluebrother
If you're going to do it this way, I'd recommend using something like robocopy to ''mirror'' the directories work_pc -> portable drive -> home_pc and then home_pc -> portable drive -> work_pc. I do this all the time and haven't had any issues, but I did make some batch files to automate the process a little and reduce the chance of me mirroring in the wrong direction.
Robert Paulson
You could also just keep your working copy in a Dropbox folder and let dropbox sync your changes to both machines as long as your wc isn't that huge. One issue I see here is build artifacts being needlessly pushed around the network.
Jeff Paquette
+1  A: 

You can work on the code in the way you describe, but you can't commit/update/any other SVN action that needs the server.

You could have IT setup a VPN so that you can access your company's interal network from home.

git is a distributed source control system that solves this issue by making every checked-out copy it's onw repo.

Ben S
A: 

Yes, copying everything should work. Make sure you get all of the .svn folders.

Chris Thompson
+1  A: 

I have done something similar before, but what I did was check out the repository to a Flash Drive.

Take the Flash Drive home and work from it directly. Bring it back to work, then do my update/commit.

Not an earth-shattering observation, but it does make it a bit easier to sneaker-net your source...

jeffa00
A: 

Use the Export option in TortoiseSVN context menu to save your files (this will remove all the .svn folders for you). Then you can edit your code at home, and overwrite all your files at work with any changes and commit it as normal.

Nick
+1  A: 

As long as you don't move/rename files, you can use the TSVN command "create patch" on your working copy, save the patch file. Then in your office right-drag the patch file to the working copy, choose "apply patch" and save the modifications.

Exporting the working copy of course works too, but depending on how big your working copy is, creating and applying patchfiles would save some space.

Stefan