Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/honza/ggl
global git log
https://github.com/honza/ggl
Last synced: about 5 hours ago
JSON representation
global git log
- Host: GitHub
- URL: https://github.com/honza/ggl
- Owner: honza
- License: gpl-3.0
- Created: 2022-11-02T13:55:58.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-06T15:48:54.000Z (over 1 year ago)
- Last Synced: 2024-10-31T11:47:43.805Z (7 days ago)
- Language: Rust
- Size: 60.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ggl --- global git log
======================This tool shows you a log of git commits from multiple repositories ordered by
time. The output is nearly identical to the default `git-log`.features
--------The goal of this tool is to discover a commit that broke things, and as such, we
use `--topo-order` when presenting the results. This means that a merge commit
is followed by all of its children before other commits are shown.You can ask `ggl` to run `git fetch` for you.
You can specify which paths you care about in busy repository with filters.
By default, we go 1 week into the past, and of course you can set your own
value.install
-------### cargo
``` sh
$ cargo install ggl
```### from source
``` sh
$ git clone https://github.com/honza/ggl
$ cd ggl
$ cargo build --release
$ ./target/release/ggl --help
```config
------A yaml file which specifies which repositories you want to include, and their
respective remotes and branches.A `block` is a collection of repositories that share a common root directory.
When running `git fetch` we use the `remote` and `branch` information.By default, we don't run `git fetch`: you have to pass in the `--fetch` flag.
If you never wish to fetch a repo, you can say so in the config.``` yaml
blocks:
- root: /home/abc/code
repositories:
- name: "linux"
path: "linux"
remote: "upstream"
branch: "master"
fetch: true
filters:
- filter_type: Include
paths:
- src/important-file.txt
````ggl` will look for the config file in the following places:
1. `--config` flag
2. `$XDG_CONFIG_HOME/ggl.yaml`
3. `config.yaml` in the current directoryusage
-----```
gglUSAGE:
ggl [FLAGS] [OPTIONS]FLAGS:
-f, --fetch Run git fetch
-h, --help Prints help information
-j, --json Print JSON
-r, --reverse Reverse the result
-V, --version Prints version informationOPTIONS:
-c, --config Path to config file
-u, --until How far into the past should we go? e.g. 2022-12-31; defaults to one week ago
```license
-------GPLv3 or later