tags:

views:

144

answers:

2

I have a SVN Repository at my main PC, to which only I have access. I also have a Laptop, and I don't want to lose SVN Functionality when I am not connected to my PC. So at the moment, I simply copy accross the whole Repository to the Laptop and copy it back.

That works well of course (I am the only developer, so there is no access to the repo when I am not in anyway), but it is somewhat tedious to do every time.

I wonder if there is a way to check out a Directory from SVN and store it in a (new) repository on the Laptop, work against that, and then merge that repository with the main one later. (Yes, I know that this would be a good case for distributed systems a la git or Mercurial, but I don't want to lose VisualSVN/TortoiseSVN).

I am not really sure what I am looking for, but I guess I am looking for branching and merging between two repositories: Branch the tree off repo1 into repo2, then merge it back. The caveat here: I'd like to keep the history from repo2. So if I made 10 commits against repo2, I'd like to transfer those 10 commits into repo1 as well, so that I am still able to go back.

Is that even possible, or am I better off still copying the whole repository every time? (It sits in a VM anyway, which means that I copy the whole VM every time).

+1  A: 

Instead of copying the entire repository each time, I recommend to use rsync. If you use the fsfs backend of svn (which you should), then it will synchronize only the new revisions, and do so quickly. Of course, concurrent checkins wouldn't be possible (but I understand they aren't necessary, either).

Martin v. Löwis
+1  A: 

SVK

svk is a decentralized version control system built with the robust Subversion filesystem. It supports repository mirroring, disconnected operation, history-sensitive merging, and integrates with other version control systems, as well as popular visual merge tools.

brlcad