Hi all. I just set up another development system so I can work remotly as well as in the office. All of my source scripts are checked into perforce but my image files are not. Can anyone provide a good suggestion to make sure I am always using the same image file data without having to do a big sync in perforce. Using perforce for this many image files could be a pain to deal with on a regular basis.
I would recommend using rsync which is a very powerful synchronization tool that you can call from a terminal window. (or from an Eggplant script with the shell() function)
I’ve attached an HTML document of the man page but basically the usage is
rsync options SourceLocation DestinationLocation
So here is a command that will connect to my home computer via SSH and sync all the files in the Images directories of my home “Documents/Eggplant Suites” folder to the same relative location on my local computer:
rsync --archive --compress --rsh=ssh --update --verbose --progress --relative jonathanhome:"Documents/Eggplant\ Suites/*/Images" ~
Rsync is great because it will only bother with files that have changed since your last sync, but you should use it with care and test your commands first because without the proper arguments it can remove files as well as update them.
- If you setup SSH to use a public key encryption like RSA then it will log you in without needing a password and you can set this command to execute from Eggplant or nightly with something like cron. We have instructions for doing this posted right here: Setting up RSA
Sweet thanks Jonathan I’ll give this a shot to see how it work out. I suppose in theory to could sync back and forth between systems to keep them both on the same page?
Yes, absolutely! I use something very similar to keep my iTunes library in sync between my Desktop and Laptop.
In that case in particular you want to be very careful with how you handle deletions when a file is present on one side but not the other.