2

要在另一个外部脚本中使用,我们需要托管在 git 存储库服务器中的存储库列表。我们还在服务器上启用了 GitWeb。

有人知道 GitWeb 是否公开了一些 API,我们可以通过这些 API 获取存储库列表?像 GitBlit RPC(http://gitblit.com/rpc.htmlhttps://your.glitblit.url/rpc?req=LIST_REPOSITORIES)?

谢谢。

4

2 回答 2

0

不,从我所看到的gitweb.cgi(from gitweb/gitweb.perl) 实现来看,没有带有 JSON 返回消息的 RPC API。

这仅通过网页可见。

于 2013-08-14T07:21:19.900 回答
0

在右下角有一个小按钮,上面写着:TXT 你可以在那里获取项目列表,例如:

对于源件,gitweb 页面:https ://sourceware.org/git/

TXT 按钮链接在这里:https ://sourceware.org/git/?a=project_index

它应该返回一个项目列表,这些项目基本上是

<name of the git repository> <owner>

纯文本,完全可以通过脚本解析。

但是如果你想要 JSON,你必须用这样的东西来转换它:

$ wget -q -O- "https://sourceware.org/git/?a=project_index" \
    | jq -R -n '[ inputs | split(" ")[0:2] | {"project": .[0], "owner": .[1]} ]'
于 2021-10-04T10:46:47.573 回答