Usage: gr <targets> <cmd>

## Targets

The targets can be paths or tags. For example:

  gr ~/foo ~/bar status
  gr @work ls -lah

Path targets be directories. Tags refer to sets of directories. They managed using the `tag` built-in.

## Tagging

  @tag            List directories associated with "tag"
  @tag <cmd>      Run a command in the directories associated with "tag"
  -t <tag> <cmd>  Run a command in the directories associated with "tag"
  +@tag           Add a tag to the current directory
  -@tag           Remove a tag from the current directory
  +@tag <path>    Add a tag to <path>
  -@tag <path>    Remove a tag from <path>

For example:

  gr +@work ~/bar

## Commands

The command can be either one of the built-in commands, or a shell command. For example:

  gr @work status
  gr ~/foo ~/bar ls -lah

To explicitly set the command, use `--`:

  gr ~/foo -- ~/bar.sh
  gr @work -- git remote -v

Tags can also be specified more explicitly; this is useful if you are using a scripting language which uses @ for comments. For example `gr -t work -t play` is the same as `gr @work @play`.

## Built-in commands:

gr tag ..
  add <t>           Add a tag to the current directory
  rm <t>            Remove a tag from the current directory
  add <t> <path>    Add a tag to <path>
  rm <t> <path>     Remove a tag from <path>

gr tag discover <paths> Auto-discover git paths under  the list of <paths>
                    (If omitted, <paths> defaults to ~/)

gr tag list    List all known repositories, grouped by their tags
gr list        List all known repositories

gr status       Displays the (git) status of the selected directories.
gr status -v    Runs "git status -sb" for a more verbose status.

gr config ..
  get <k>       Get a config key (can also be a path, e.g. "tags.foo")
  set <k> <v>   Set a config key (overwrites existing value)
  add <k> <v>   Add a value to a config key (appends rather than overwriting)
  rm <k> <v>    Remove a value from a config key (if it exists)
  list          List all configuration (default action)

gr export <path-to-export> Export your grconfig in a consumable way for other people.
gr import <file> Import from a previously exported grconfig.
gr help        Show this help
gr version     Version info
