1

我必须下载托管在某个cgit实例上的所有项目。有数百个存储库,因此手动执行此操作很乏味。

怎么做到呢?

似乎可以curl通过一页一页地解析来做到这一点。有没有更方便的界面?

4

1 回答 1

1

CGit 似乎没有任何官方或方便的 API 来导出/克隆其所有存储库。

您可以尝试这些替代方案

curl -s http://git.suckless.org/ |
xml sel -N x="http://www.w3.org/1999/xhtml" -t -m "//x:a" -v '@title' -n |
grep . |
while read repo
do git clone git://git.suckless.org/$repo
done

或者:

curl -s http://git.suckless.org/ | xml pyx | awk '$1 == "Atitle" { print $2 }'

或者:

curl -s http://git.suckless.org/ | xml pyx | awk '$1 == "Atitle" { printf("git clone %s\n",$2) }' | s

我怀疑这项工作适用于 CGit 列出的一页Git 存储库:您可能仍需要对所有后续 Git 存储库页面重复此操作。

于 2020-07-15T05:51:44.197 回答