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 © 2010 Dustin Willis Webber. See LICENSE for details.