First a quick one – thanks to the folks that supplied the coda plugin for Markdown. Anonymous folks with big hearts.

Markdown plugin for Coda

It’s about time I stopped running to WordPress every time I have to format a <ul>. I rememer thnking Markdown was cool forst time I saw it about four years ago! Funny I thought it wouldn’t last.

Next another oldie – spurred on by a post in the Coda Users forum on Google Groups I was reminded of the magic that is rsync.

Rsync is syncing magic

Magic that I turned to again recently to get lose a ┬áheavy syncing feeling when faced withthe fact that I really don’t know too much about GIT just yet. Not beyond using it to keep a proper track of my own changes anyway…

The issue was with a workflow that forked Coda’s capabilities to track changes (which although straight forward are not always reliable).

Forum thread here. My ravings about rsync:

OK so no SVN on the server – how about rsync and ssh?

I tried and failed and gave up getting Git to push changes to my
server [ way too n00b ]. So dusted off a couple of old rsync scripts I used to use back in the days of RsyncX. That was before rsync was
made a native MacOSX binary with HFS+ support (not needed now I’m out of
DTP!) or became the foundation of Time Machine…

Rsync is fabulous – it can do a sync based on checksums of the files’
content. Modification dates etc be damned. That and more magic. Have
alook into for yourself. Maybe there’s other folk out here who can
confirm or deny this. (and any of the following too… !)

If you have ssh access and rsync on both servers (type “rsync —
version” in a terminal window to see) you could try something along
the lines of:

time rsync -a -c -z -e ssh ~/Sites/source.dev/public_html/
u...@12.34.56.789:/Users/user/Sites/desination.dev/public_html/ --
delete --progress --exclude=*.git/* --dry-run

time – to tell you how long it takes
-a for archive mode (overwrites any changes on the destination)
-c skip based on checksum, not mod-time & size (killer feature)
-z compress file data during the transfer
-e specify the remote shell to use (in this case ssh)
–delete will delete file not in the source folder
–progress gives feedback on how things are going
–exclude specifies what to ignore (in this case anything in any
folder ending in “.git”)
–dry-run doesn’t actually change any files – just goes through the
motions so you’re happy all is well

When you’re happy – lose the “–dry run” and go!