How to push SVN updates to PCs without a LAN connection?

Posted on

Problem :

I am deploying some embedded linux machines to the field, where they will not have internet or LAN access to our subversion server. The only way I will be able to administrate them is by connecting my laptop to their ethernet port and logging in through SSH.

Before deploying them, I can make sure their SVN working copies are up to date, but afterwards I plan to continue developing their application.

Is there a way to sort of “push” these new updates to the deployed units using just my laptop, while maintaining the integrity of their checkouts (i.e. without manually copying the updated files over)?

Follow-up question: If that’s not possible, is there a way to copy over the full checkout information so the deployed unit thinks it has been updated properly?

Solution :

First of all I wonder if you really have to use SVN to deploy to the embedded machines.

I think it would be cleaner to export your repository to some temporary folder on your laptop and then push the changes using rsync

svn export <repo>/folder_to_export
rsync -vaz folder_to_export/ user@embedded:target_folder

If you have to use SVN then dump the latest version of your repository locally to your laptop then login to your embedded devices and first time do svn co <repo on laptop>. Then next time login to the embedded device and and just do svn up. Of course having made sure to copy the latest SVN repository to your laptop.

Some info about migrating Subversion repositories can be found here:

http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate

Leave a Reply

Your email address will not be published. Required fields are marked *