rustyio/sync — pull request #22 by choptastic (2013-09-28 21:02:50+00:00)
Title: Fix releases being moved, add post-hooks, selective toggling of growl/console, excluding modules, removed {sync_mode, nitrogen}

Hey Rusty,

Here's a big update that addresses a number of things.

1) It fixes the bug when a release is moved from one location to another either on the same computer or another computer altogether by introducing a handler for `non_descendants`, allowing sync to attempt to "heal" the beams by finding the new src files when the originals either aren't found, or aren't a descendant of the current path.
2) In the process, I've unified the hacked fix for Nitrogen, removing the necessity of `{sync_mode,nitrogen}`
3) Brought in a pile of changes from miscellaneous branches that had interesting contributions but may not have necessarily put in pull requests, including the patching multiple nodes, and running post-hooks.
4) Documented the post-hooks mentioned above, as well as the removal of the nitrogen mode
5) Brought in a branch that detects changes to .hrl files and recompiles (most) dependent modules (it's still not perfect, but better than nothing).
6) Added the ability to selectively enable and disable errors, warnings, and success messages for both growl and console. For example: sync:growl([errors,warnings]) will only make growl notifications for errors and warnings, ignoring success messages.
7) Brought in a branch which allows the exclusion of modules in a configuration basis, preventing modules from being recompiled via configuration. I believe this is already a pull request.
8) Fixed some small things: Adding vim modelines, fixing tabs to spaces, etc
9) And, of course, ensuring that this all compiles and runs and whatnot, simplifying the process of merging in all those miscellaneous pull requests with inconsistencies that might break eachother. Everything seems stable at this point.

I think that basically covers it and addresses the issue I opened earlier this week regarding moving directories.

Please let me know if there's anything you need from me to get this merged, as I find all of these options to be valuable, and particularly with the "moving releases" stuff, to be critical, especially for windows users.

Thanks man! Hope all is well!