Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
    
This may sound harsh, but ... Use git or a DVCS. –  BatchyX Mar 7 '13 at 15:29
    
Not really an option at this point. I'll take note of it for next time. –  Chriszuma Mar 7 '13 at 15:55
add comment

1 Answer

up vote 2 down vote accepted

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

share|improve this answer
    
Thanks, I ended up using rsync. Turns out if you sync the .svn directory too, then the checkout will be happy and report the updated version on the deployed machine. –  Chriszuma Mar 8 '13 at 14:36
1  
I am happy that it works. However I think I do not follow why you need to deal with svn on the deployed machines at all. I am just curious as to the reason, there might be a good one in your particular case. –  AxelOmega Mar 8 '13 at 18:07
    
It's mostly for my own sanity. I need to be able to conclusively know that all machines have the exact same code running. During development this was accomplished using SVN because it's what my company uses. In deployment, it seems like the most straightforward way to keep track of somewhat-frequent code changes. –  Chriszuma Mar 8 '13 at 20:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.