For a long time I have been moving code from place to place, environment to environment, always thinking, there has to be a better way. I can't tell you how many times I have screwed up moving a project to production because I forgot a file, or something was corrupted. I can't tell you how many times I have wondered if I moved everything like I wanted to. Or I moved something I didn't really mean to.
So with that in mind, I started working on a project to fix those problems. I call it Cascade (not very clever, I admit). It will help you make backups of your projects. It helps move code from development to QA, to staging, and eventually to production. Or it helps you move it wherever you want to move it. It keeps track of everything as it goes. It makes backups of the code you are overwriting automatically. It gives you a way to revert back to that backup quickly and easily if something goes wrong. And it tells you if something gets corrupted.
I have open sourced the whole project under the Apache 2.0 license. Basically, take it and do what you want with it. What I hope you do is like it, use it, and help me fix any bugs and enhance it to be even better. It could use some UI love in some places, no doubt. But it works for me, and I hope it works for you.
(These links open in new windows)
You can get the code here: https://github.com/ryanguill/Cascade.
If you don't want to use git, you can get the 1.0 release in Zip format here: https://github.com/ryanguill/Cascade/downloads.
Instructions to install and documentation is here: https://github.com/ryanguill/Cascade/wiki.
And if you find any issues or think of any enhancements, feel free to fork and send me a pull request or just submit them here: https://github.com/ryanguill/Cascade/issues.