mrh 0.9.1

Crawls filesystem and displays pending status of each git repo found
Documentation

mrh - Multi-(git)Repo Helper

Linux build status Windows build status

This repo provides a library that allows crawling a directory and its children for Git repos. It reports if those repos have:

  • uncommitted changes
  • unpushed commits
  • outdated branch
  • added files
  • deleted files
  • renamed files
  • untracked files (can be disabled)
  • untagged HEAD (optional)
  • unpushed tags (optional)
  • unpulled tags (optional)
  • unpulled commits (optional)

I also offers a command line tool with all those features, one of which is to show all repos:

$ mrh
foo (uncommitted changes, untracked files, unpushed commits)
bar
baz (untracked files)
qux

Only show those repos that are pending action:

$ mrh --pending
foo (uncommitted changes, untracked files, unpushed commits)
baz (untracked files)

Ignore untracked files in results:

$ mrh --pending --ignore-untracked
foo (uncommitted changes, unpushed commits)

Include repos whose HEAD commits are not tagged:

$ mrh --pending --ignore-untracked --untagged-head
foo (uncommitted changes, unpushed commits, untagged HEAD)
bar (untagged HEAD)

For cases where JSON or YAML output is desired, use --output-json or --output-yaml flags, respectively.

Notes

  • Ignores unreadable files/directories without warning
  • Ignores bare git repositories

Installation

Following is the most easy way to install the tool (assuming you have the Rust toolchain installed):

cargo install mrh

JSON and YAML output formats are behind feature flags:

cargo install mrh --features "yaml json"

NOTE: minimum required rustc is v1.20, due to a transitive dependency, bitflags.

For library usage, check them API docs.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.