[u]地址已经变了,只是记录一下方法。
[/u]
在ubuntu 10.04 x64系统上。
第一步,安装git和repo
apt-get install git-core
curl http://android.git.kernel.org/repo > /bin/repo
chmod a+x /bin/repo
第二步,建立git server
建立一个git server发布目录
mkdir /pub/gittree
安装服务器软件
apt-get install git-daemon-run
查看服务器运行情况
ps -ef|grep git
看到
119 24126 24124 0 09:36 ? 00:00:00 /usr/lib/git-core/git-daemon --verbose --base-path=/var/cache /var/cache/git
修改服务器配置
vi /etc/sv/git-daemon/run
相关内容改成下面这样的
/usr/lib/git-core/git-daemon --verbose --export-all --base-path=/pub/gittree /pub/gittree
重新启动这个服务,注意,它是由sv - control and manage services monitored by runsv(8)操作的。
sv stop git-daemon
sv start git-daemon
再用ps -ef|grep git查看,改动的配置是否生效。
第三步,镜像代码库到本地目录,
mkdir /pub/gittree/android-mirror
cd /pub/gittree/android-mirror
repo init -u git://android.git.kernel.org/platform/manifest.git --mirror
repo sync
要等很长时间,等它下载完成。如果中间有错误发生,下载中断,则要重做repo sync,会续传。
第四步,从本里代码库里取出代码,
另启一个终端窗口,
cp /bin/repo /bin/repo-local
vi /bin/repo-local
将里面的git://.....改成git://127.0.0.1/android-mirror/ 指向本地服务。
mkdir /pub/test
cd /pub/test
repo-local init -u git://127.0.0.1/android-mirror/platform/manifest.git -b froyo 这里以froyo为例下载一个分支版本。注意,这里不用repo。 git url的写法,可能有变,如在ti公司omap代码库里,就不尽相同。
vi .repo/manifests/default.xml
修改其中的fetch="git://127.0.0.1/android-mirror/" 指向本地代码库。
repo-local sync ,这里,不用repo。
mirror下来的代码库,并不一定会全,会出现某个project找不到的情况,要去补充下载。
回到之前的那个mirror的终端窗口,当前目录在 /pub/gittree/android-mirror
vi .repo/manifests/default.xml
照着样子增加一行project,写上需要的名字,保存退出。
repo sync + project name ,project的名字,就是刚在default.xml里看到的。
再回到test目录下,继纽 repo-local sync
发生过,在android-mirror里sync时,报错,指出manifest里有uncommited change,这时,将.repo目录删去,重新repo init...一次,再repo sync,原来下载的代码还在,有更新的会补充下载。
[/u]
在ubuntu 10.04 x64系统上。
第一步,安装git和repo
apt-get install git-core
curl http://android.git.kernel.org/repo > /bin/repo
chmod a+x /bin/repo
第二步,建立git server
建立一个git server发布目录
mkdir /pub/gittree
安装服务器软件
apt-get install git-daemon-run
查看服务器运行情况
ps -ef|grep git
看到
119 24126 24124 0 09:36 ? 00:00:00 /usr/lib/git-core/git-daemon --verbose --base-path=/var/cache /var/cache/git
修改服务器配置
vi /etc/sv/git-daemon/run
相关内容改成下面这样的
/usr/lib/git-core/git-daemon --verbose --export-all --base-path=/pub/gittree /pub/gittree
重新启动这个服务,注意,它是由sv - control and manage services monitored by runsv(8)操作的。
sv stop git-daemon
sv start git-daemon
再用ps -ef|grep git查看,改动的配置是否生效。
第三步,镜像代码库到本地目录,
mkdir /pub/gittree/android-mirror
cd /pub/gittree/android-mirror
repo init -u git://android.git.kernel.org/platform/manifest.git --mirror
repo sync
要等很长时间,等它下载完成。如果中间有错误发生,下载中断,则要重做repo sync,会续传。
第四步,从本里代码库里取出代码,
另启一个终端窗口,
cp /bin/repo /bin/repo-local
vi /bin/repo-local
将里面的git://.....改成git://127.0.0.1/android-mirror/ 指向本地服务。
mkdir /pub/test
cd /pub/test
repo-local init -u git://127.0.0.1/android-mirror/platform/manifest.git -b froyo 这里以froyo为例下载一个分支版本。注意,这里不用repo。 git url的写法,可能有变,如在ti公司omap代码库里,就不尽相同。
vi .repo/manifests/default.xml
修改其中的fetch="git://127.0.0.1/android-mirror/" 指向本地代码库。
repo-local sync ,这里,不用repo。
mirror下来的代码库,并不一定会全,会出现某个project找不到的情况,要去补充下载。
回到之前的那个mirror的终端窗口,当前目录在 /pub/gittree/android-mirror
vi .repo/manifests/default.xml
照着样子增加一行project,写上需要的名字,保存退出。
repo sync + project name ,project的名字,就是刚在default.xml里看到的。
再回到test目录下,继纽 repo-local sync
发生过,在android-mirror里sync时,报错,指出manifest里有uncommited change,这时,将.repo目录删去,重新repo init...一次,再repo sync,原来下载的代码还在,有更新的会补充下载。