Gill is a simple Ruby app to help keep your git clones clean and organized. Gill creates a source directory (~/source) in the users home path were all cloned repos will be stored. The gill default source location can be changed at any time by simply editing the “.gillrc” in the users home directory.
Files created by gill:
* ~/.gillrc #=> gill configurations * ~/.gillcache #=> List of all gilled (installed) repos.
LookyCode Website: www.lookycode.com
gem install gill
$ gill --help Gill - Git, Clone, Cleanliness. Usage: gill git://host/repository.git#category/sub-category/... -l, --list List all cloned repositories. -p, --path Ouput the path of a repository. e.g. --path gill -r, --remove Remove repository. e.g. -r category#repository -u, --update Update repository. e.g. -u *gill* -i, --import Import untracked repositories. -h, --help This help summary page. -v, --version Version number
Cloning a git repository with gill:
$ gill https://github.com/mephux/Snorby.git#rails#snorby-dev Initialized empty Git repository in /Users/mephux/Source/rails/snorby-dev/.git/ remote: Counting objects: 7958, done. remote: Compressing objects: 100% (3367/3367), done. remote: Total 7958 (delta 4199), reused 7946 (delta 4193) Receiving objects: 100% (7958/7958), 8.59 MiB | 568 KiB/s, done. Resolving deltas: 100% (4199/4199), done.
This will create a folder called 'rails' and clone the repo inside a folder called 'snorby'. ie: '/Users/mephux/Source/rails/snorby-dev/'
gill https://github.com/mephux/gill.git#ruby gill http://github.com/jruby/jruby.git#jruby gill http://github.com/ronin-ruby/ronin.git#security#ronin-dev gill http://github.com/postmodern/spidr.git#security#spidr-dev gill https://email@example.com/mephux/Snorby.git#rails#snorby-dev
Listing cloned repositories:
$ gill --list *** Listing Cloned Repositories *** vim: neocomplcache => http://github.com/Shougo/neocomplcache.git jruby: jruby => http://github.com/jruby/jruby.git ruby: gill => firstname.lastname@example.org:mephux/gill.git security: ronin-dev => http://github.com/ronin-ruby/ronin.git spidr-dev => http://github.com/postmodern/spidr.git rails: snorby-dev => https://github.com/mephux/Snorby.git
Removing cloned repositories:
$ gill -r rails#snorby-dev Are you sure you want to remove the repository: snorby-dev? [y/N] y Repository Removed Successfully.
Updating cloned repositories:
$ gill -u snorby-dev Update ronin => /Users/mephux/source/rails/snorby-dev? [Y/n] y Updating snorby-dev repository. From https://github.com/mephux/Snorby * branch master -> FETCH_HEAD Already up-to-date. Snorby-dev updated successfully.
Listing cloned repos is not standardized.
Nested/Sub categories with empty folders will not be removed when uninstalling a cloned repo.
Only the parent folder to the cloned repo will be removed.
Note on Patches/Pull Requests
Fork the project.
Make your feature addition or bug fix.
Add tests for it. This is important so I don't break it in a future version unintentionally.
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 Dustin Willis Webber. See LICENSE for details.