Jump to content

Subversion local repository synch to server?


hfettig

Recommended Posts

Hi Folks,

I am setting up subversion and have a few questions.

Say I have a server at home that has all my subversion repositories on it. Now I work at with my laptop at home committing as we go. What do I do when I take the laptop to a customer and make changes there in which I want a few commit steps in between changes? Is there a way to have a local repository that syncs to a server when I get back home?

Cheers,

Heiko

Link to comment

I'm not a subversion expert, but I have had some experience replacing a subversion server after a motherboard went bad. My experience went something like this. Everything working Friday afternoon, come in Monday and my subversion machine was not working. Couldn't get it to boot or respond in any way. Ended up pulling the hard drive and putting it in another machine. After installing apache and the same version of subversion on a new machine I was able to replace the default subversion repository directory with the one I had on another hard drive from another machine. I had to setup apache to use the same setup as I had before, but other than that everything worked fine. The moral is, have daily hotcopies of your subversion repository on some external media for safekeeping. The lesson that you might be able to take away is that if you are a lone developer you should be able to take a copy of your subversion repository on your laptop hard drive, setup your subversion system to sync to your laptop hard drive, then when you get back home, copy your laptop's subversion repository back to your "server".

I've also seen people try keeping thier subversion repository on external media (such as a usb hard drive or flash drive) you might want to investigate that too. If you are a lone developer it may meet your needs.

Link to comment

I think it is fairly tricky and only needed if you are not a sole developer.

I keep my repository and even working copy on a removable mini usb drive (e.g. WD Passport). Usb Drive is fast enough for development, and it makes it easy to develop at work/laptop and at home, and LV does not complain about linking problems. I do make frequent backups of repository and have a duplicate working copies on network that get synched via script/button using SVN update command.

It would be interesting to know if anyone has a solution for your problem. I have thought about this before and could not come up with anything that could be implemented, especially if more than one developer are involved.

Reinis

Link to comment

I was using CVS some time back. Tortoise-CVS uses the network connectivity only during "commit" and "update" activity. Rest of the time, user doesnt need any network connectivity. The user can work at his code. If the user wants to commit(crreating the next version without check-in-out activity) his work., at that time only he needs the network.. I believe CVS-NT/Tortoise-CVS (freeware) is the right choice for dynamic connectivity situations..

QUOTE(rkanders @ Sep 20 2007, 09:52 AM)

I think it is fairly tricky and only needed if you are not a sole developer.

I keep my repository and even working copy on a removable mini usb drive (e.g. WD Passport). Usb Drive is fast enough for development, and it makes it easy to develop at work/laptop and at home, and LV does not complain about linking problems. I do make frequent backups of repository and have a duplicate working copies on network that get synched via script/button using SVN update command.

It would be interesting to know if anyone has a solution for your problem. I have thought about this before and could not come up with anything that could be implemented, especially if more than one developer are involved.

Reinis

Link to comment

QUOTE(siva @ Sep 20 2007, 03:33 AM)

I was using CVS some time back. Tortoise-CVS uses the network connectivity only during "commit" and "update" activity. Rest of the time, user doesnt need any network connectivity. The user can work at his code. If the user wants to commit(crreating the next version without check-in-out activity) his work., at that time only he needs the network.. I believe CVS-NT/Tortoise-CVS (freeware) is the right choice for dynamic connectivity situations..

SVN really works the same. But the OP request was explicit intermediate commits to the server while away from the network, and here CVS will fail exactly the same as SVN. Only solution I see is to keep the CVS server on the local machine too and put it's repositry on an external harddrive or maybe make a regular backup copy of the entire local repository to some other location. I know that that will work with SVN since a repository is there completely self contained without any external information that could get lost when doing a simple file backup.

Rolf Kalbermatter

Link to comment

Heiko,

You might want to look into svk. From thier website:

QUOTE

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.

I haven't actually used this tool. But, I don't think they have any GUI client for Windows (or any platform).

Cheers,

-Jim

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.