Here the current output (github commenting thing does not treat newlines like the normal markdown renderer):
Git: Multi-Repository
This project provides a couple of scripts which handle multiple Git
repositories at once. One can provide a list of directories to scan for
repositories (non-recursively) on the command line or through Git's
configuration mechanism.
The scripts provided as of now are:
git-multi-status: Show the status of a bunch of Git repositories.
git-activity-report: Make a report of developments in a bunch of Git repositories.
It may be interesting for the user to also alias them in
~/.gitconfig, for instance:
usage: git-multi-status <args>
Show the status of a bunch of Git repositories.
Use `git multi-status /path/to/repos1 /path/to/repos2` to display
a compact report of all the git repositories found in the folders
`/path/to/repos1` and `/path/to/repos2`.
Default paths to explore can be set in Git's configuration:
git config --global --add multi-git.paths /path/to/repos1
git config --global --add multi-git.paths /path/to/repos2
Options:
* `--show-modified`: Show the list of modified files.
* `--no-config`: Do not look at the `multi-git.paths` git-config option.
* `--version`: Show version information.
* `--describe`: Show the status of a bunch of Git repositories
Usage: Git-activity-report
See git-activity-report --help:
usage: git-activity-report <args>
Make a report of developments in a bunch of Git repositories.
Use `git activity-report --since 2018-10-23 /path/to/repos1 /path/to/repos2` to display
a detailed “recent happenings” report of all the git repositories found
in the folders `/path/to/repos1` and `/path/to/repos2`.
Default paths to explore can be set in Git's configuration:
git config --global --add multi-git.paths /path/to/repos1
git config --global --add multi-git.paths /path/to/repos2
Options:
* `--no-config`: Do not look at the `multi-git.paths` git-config option.
* `--since <string>`: Date to get the logs/information since (default: “last sunday”).
* `--section-base <string>`: The base markdown section ('##', '###', etc. default: ###)
* `--version`: Show version information.
* `--describe`: Make a report of developments in a bunch of Git repositories
Authors / Making-of
This repository is generated by an OCaml program which itself was
written by Seb Mondet, it uses the
Genspio EDSL library, and
serves as one of its examples of usage, see also its
implementation.
Similarly, you may check out the https://github.com/smondet/cosc
repository, which is also a bunch of shell scripts maintained by an
OCaml program.
Example Session / Demo
Let's see a sequence of examples to demo the scripts. First, we prepare
a set of “test” repositories in /tmp/git-repos-example:
For now, we haven't changed anything to the repositories so the
“multi-status” is full of zeros (we use the --no-config option to
get consistent output w.r.t. users' configuration):
M README.md
Branch 'new-branch-for-the-example' set up to track local branch 'master'.
$ git -C /tmp/git-repos-example/hammerlab/ketrew/ commit -a -m 'Add \
greatness to the README'
[new-branch-for-the-example 83021d3] Add greatness to the README
1 file changed, 1 insertion(+)
Now in the multi-status we can see the modified files, the untracked
counts, and one branch is “ahead” (since we used -t master while
creating, it has a remote to define it):
### In `/tmp/git-repos-example/hammerlab`
#### GHub: genspio
* origin/sm@multigit-readme
* HEAD -> master, origin/master, origin/HEAD
* origin/sm@add-activity-report
```
##### On `master`:
- Add `--section-base` to `git-activity_report`.
- Compute default `--since` to “Last Sunday”.
- Improve markdown output of `git-activity-report`.
- Add more tests of `git-activity-report`.
- Merge `sm@add-activity-report` (PR #98, @smondet).
#### GHub: ketrew
```
* HEAD -> new-branch-for-the-example
```
##### On `master`:
##### On `new-branch-for-the-example`
- Add greatness to the README.
We can see the new commit in the new branch appear in the report ⮵.
And that's all for today ☺ !
License
-------
The code generator is covered by the Apache 2.0
[license](http://www.apache.org/licenses/LICENSE-2.0), the scripts are
ISC [licensed](https://opensource.org/licenses/ISC).
Here the current output (github commenting thing does not treat newlines like the normal markdown renderer):
Git: Multi-Repository
This project provides a couple of scripts which handle multiple Git repositories at once. One can provide a list of directories to scan for repositories (non-recursively) on the command line or through Git's configuration mechanism.
The scripts provided as of now are:
git-multi-status
: Show the status of a bunch of Git repositories.git-activity-report
: Make a report of developments in a bunch of Git repositories.It may be interesting for the user to also alias them in
~/.gitconfig
, for instance:See below for detailed usage information ⮷.
Usage: Git-multi-status
See
git-multi-status --help
:Usage: Git-activity-report
See
git-activity-report --help
:Authors / Making-of
This repository is generated by an OCaml program which itself was written by Seb Mondet, it uses the Genspio EDSL library, and serves as one of its examples of usage, see also its implementation.
Similarly, you may check out the https://github.com/smondet/cosc repository, which is also a bunch of shell scripts maintained by an OCaml program.
Example Session / Demo
Let's see a sequence of examples to demo the scripts. First, we prepare a set of “test” repositories in
/tmp/git-repos-example
:For now, we haven't changed anything to the repositories so the “multi-status” is full of zeros (we use the
--no-config
option to get consistent output w.r.t. users' configuration):The activity-report is, for now, more interesting, and it outputs directly Markdown:
Let's do some modifications:
Now in the multi-status we can see the modified files, the untracked counts, and one branch is “ahead” (since we used
-t master
while creating, it has a remote to define it):Let's concentrate the activity-report on
/tmp/git-repos-example/hammerlab
and on the past 3 days: