gill
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.
Gill Documentation
LookyCode Website: www.lookycode.com
Gill Docs: rubydoc.info/projects/mephux/gill/blob/73355f02d8ea532c19d4cf69f43e85323e3e28f5
Install
gem install gill
Example
Gill Usage:
$ 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 protected]/mephux/Snorby.git#rails#snorby-dev
etc…
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 => [email protected]: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.
Current Issues
-
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
Copyright © 2010 Dustin Willis Webber. See LICENSE for details.