Restore/wrap up your repositories and workspaces like a futon.
Restore only repositories/workspaces you need to work on. Safely delete or wrap up anything else.
Why a new project?
- Puppet is for servers, not developers (it clobbers repositories or needs complex custom modules)
- Repo is for related repositories and extending it is troublesome
- myrepos is close (!), except it emphasises push/pull on multiple repositories, while futon is more about backup/restore/"safely-implode"
- git-sweep only cleans up a repo, no backup, no restore, no switching between sets of projects
- dotfiles managers - mostly only for retrieving and updating, not many storage options
- custom shell scripts - we all know what happens with them...
$ gem install futon
~/.futon/default.yml with a configuration like this:
--- :workspaces: myproject1: :directory: '/home/user/workspace/myproject1' :source: type: :git :url: "https://example.org/myproject.git"
futon to restore those defined projects.
- [x] Restore git workspace from global ~/.futon/default.yml
- [x] Project ready for heavy development (RSpec tests, Guard, RuboCop, Docker acceptance test)
- [x] Initial gem release
- [ ] Per-project settings
- [ ] Alternative config file on command line
- [ ] "Unrestore" repo (safely remove if full backup is available)
- [ ] Tagging and switching whole sets on/off
- [ ] smart "out of sight" git repo cache for fast checkouts/updates
- [ ] Support S3 providers (with IAM auth)
- [ ] Support for tarball/gpg/ssh/rsync providers
- [ ] "Fetch" command on specified sets of repos
- [ ] Support mixed backup when files are modified, stashed or in local branches
These will likely be added soon, though PRs and issues reports are welcome if you can't wait!
After checking out the repo, run
bin/setup to install dependencies.
rake spec to run the tests.
For TDD/BDD workflow, run
You can also run
bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run
bundle exec rake install.
To release a new version, update the version number in
version.rb, and then run
bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the
.gem file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/futon.
The gem is available as open source under the terms of the MIT License.