终于找到使用http方式做git clone
GCC源代码的方法了。GCC gitweb的链接是
上面有三种clone方式的链接。
终于找到使用http方式做git clone
GCC源代码的方法了。GCC gitweb的链接是
上面有三种clone方式的链接。
GCC使用Subversion管理源代码,如果想做一个镜像的话,git svn
是一个方法。然而GCC这么古老的项目,svn版本号已经是15万级别,做一次完整的镜像可能对服务器的负载造成一定影响,友善一点的方法就是一次只拿一小部分版本信息,然后等待一段时间,再继续下去。还有就是只取trunk的代码,忽略branch和tag。下面的bash脚本每次取5000个版本,然后休息50分钟。克隆完成之后别忘了再rebase一下,因为workspace里面的内容只是第一次fetch的结果。
#!/bin/bash set -o verbose SVN_HEAD_REV=$1 if [ $SVN_HEAD_REV -le 5000 ] then echo "svn revision number must be at lease 5001." exit 1 fi git svn init http://gcc.gnu.org/svn/gcc -T trunk for ((i=5000; i < $SVN_HEAD_REV; i+=5000)) do echo "git svn fetch -r $(( $i-4999 )):$i" git svn fetch -r $(( $i-4999 )):$i || exit 2 sleep 50m done if [ $(( $i-4999 )) -lt $SVN_HEAD_REV ] then echo "git svn fetch -r $(( $i-4999 )):$SVN_HEAD_REV" git svn fetch -r $(( $i-4999 )):$SVN_HEAD_REV fi