我必须下载托管在某个cgit
实例上的所有项目。有数百个存储库,因此手动执行此操作很乏味。
怎么做到呢?
似乎可以curl
通过一页一页地解析来做到这一点。有没有更方便的界面?
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 存储库页面重复此操作。