4个版本 (2个重大更改)

0.3.1 2022年11月17日
0.3.0 2022年11月17日
0.2.0 2022年11月16日
0.1.0 2022年11月16日

#133 in #fetch

GPL-3.0-or-later

7.5MB
356

包含 (ELF exe/lib, 14MB) ggl

ggl --- 全局Git日志

此工具显示多个仓库按时间排序的git提交日志。输出几乎与默认的git-log相同。

特性

此工具的目标是发现破坏事物的提交,因此我们在呈现结果时使用--topo-order。这意味着在显示其他提交之前,合并提交会跟随所有其子提交。

您可以让ggl为您运行git fetch

您可以使用过滤器指定您关心的路径。

默认情况下,我们追溯到过去一周,当然您也可以设置自己的值。

安装

cargo

$ cargo install ggl

从源代码

$ git clone https://github.com/honza/ggl
$ cd ggl
$ cargo build --release
$ ./target/release/ggl --help

配置

一个yaml文件,指定您想要包含的仓库,以及它们各自的远程仓库和分支。

一个 block 是一个共享公共根目录的仓库集合。在运行 git fetch 时,我们使用 remotebranch 信息。

默认情况下,我们不运行 git fetch:您必须传递 --fetch 标志。如果您永远不会获取仓库,您可以在配置中说明。

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 将在以下位置查找配置文件

  1. --config 标志
  2. $XDG_CONFIG_HOME/ggl.yaml
  3. config.yaml 在当前目录中

用法

ggl

USAGE:
    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 information

OPTIONS:
    -c, --config <config>    Path to config file
    -u, --until <until>      How far into the past should we go?  e.g. 2022-12-31; defaults to one week ago

许可证

GPLv3或更高版本

依赖关系

~13–25MB
~396K SLoC