Android repo/git server 建立过程
2013-05-28 15:41
232 查看
[移一棵树容易,挪一片森林难啊!]
一、安装git dameon
$ sudo apt-get install git-daemon-run
二、设置仓库目录
修改/etc/sv/git-daemon/run,配置git tree的目录以及共享目录
$ vi /etc/sv/git-daemon/run
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
/usr/lib/git-core/git-daemon --export-all --base-path=/pub/gittrees
/pub/gittrees
? --export-all:导出(共享)所有目录,否则要在每个要导出的目录下作如下操作:
$ touch git-daemon-export-ok
? --base-path: 映射仓库地址。/pub/gittrees是镜像目录。比如:
git://your_server_ip/repository/platform/manifest.git,则仓库地址在
/pub/gittrees/repository/platform/manifest.git
三、制作android服务器镜像
$ mkdir /pub/gittrees/android-mirror/
$ chown git.git /pub/gittrees/android-mirror/
$ cd /pub/gittrees/android-mirror/
$ repo init -u git://android.git.kernel.org/platform/manifest.git --mirror
$ repo sync -j18
如果不是使用android官方的仓库,用的是公司的仓库,根据实际情况改动. 在repo init的情况下增加 --mirror参数,创建本地镜像.
如:repo init -u 192.168.10.232:29418/android/standard -b kh-jb_16r6 -m secureos/jb_nabi2.xml --mirror
四、建立自己软件团队的公用版本库 1.
建立版本库
$ mkdir /pub/gittrees/our-repository
$ cd /pub/gittrees/our-repository
$ repo init -u /pub/gittrees/android-mirror/platform/manifest.git -–mirror
$ repo sync
如:$repo init -u /home/wantianpei/share/android-mirror/standard.git
--mirror
$ sudo vi /etc/sv/git-daemon/run
exec chpst -ugitdaemon \
"$(git --exec-path)"/git-daemon --verbose --export-all --base-path=/home/wantianpei/share /home/wantianpei/share
添加 --export-all
更改路径 --base-path=/home/wantianpei/share /home/wantianpei/share
1.1 修改 platform/manifest.git/config 文件,追加如下几行,允许上传补丁
[daemon]
uploadpack=true
uploadarch=true
receivepack=true
1.2 检出/修改/提交 platform/manifest.git
$ cd /tmp
$ git clone git://your-server-ip/our-repository/platform/manifest.git
$ cd manifest; vi default.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="korg"
- fetch="git://android.git.kernel.org/"
+ fetch="git://your-server-ip/our-repository/"
review="review.source.android.com" />
<default revision="master"
remote="korg" />
...
$ git commit -am ‘modified to fetch from local host’
$ git push git://your-server-ip/our-repository/platform/manifest.git
[注] git push 过程可能会出现error, 可查看日志/var/log/git-daemon/current, 可能需要手动修改platform/manifest.git/目录下objects和refs的权限
$ cd /pub/gittrees/our-repository/platform/manifest.git
$ sudo chmod 777 -R objects refs
2. 创建团队的master-2.1_r2开发分支(在另一台电脑上)
2.1 下载android-2.1_r2代码
$ mkdir ~/my-android-code ~/bin/repo
$ cd ~/my-android-code
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ vi ~/bin/repo
#!/bin/sh
## repo default configuration
##
# REPO_URL='git://android.git.kernel.org/tools/repo.git'
REPO_URL='git://your-server-ip/our-repository/repo.git'
REPO_REV='stable'
$ repo init -u git://your-server-ip/our-repository/platform/manifest.git -b android-2.1_r2
按提示输入自己的用户名和邮箱即可
$ repo sync -j5
等10分钟左右,代码下载完成。(-j5表示同时下5个项目,可快点!)
2.2 建立主干开发分支
$ repo start master-2.1_r2 --all
2.3 设置远程仓库的别名为my-korg
$repo forall -c 'git remote add mykorg /pub/gittrees/our-repository/\
$REPO_PROJECT.git $@'
注:删除myorg:
$ repo forall -c git remote rm myorg
2.4 将分支提交至公共版本仓库
$ repo forall -c git push myorg master-2.1_r2:refs/heads/master-2.1_r2
$ repo sync
2.5 为你的公共版本库建立manifest分支
$ cd ~/my-android-code/.repo/manifests
$ git checkout -b master-2.1_r2
$ vi default.xml
按如下方式修改
<manifest>
<remote name="korg"
- fetch="git://android.git.kernel.org/"
+ fetch="git://172.20.158.5/our-repository/"
review="review.source.android.com" />
- <default revision="refs/tags/android-2.1_r2"
+ <default revision="refs/heads/master-2.1_r2"
remote="korg" />
修改完成后提交并将branch提交至公共版本库
$git commit -a
$git remote add our-repository /pub/gittrees/your-repository/platform/manifest.git
$git push your-repository master-2.1_r2:refs/heads/master-2.1_r2
现在我们自己团队的公共版本库创建完成。
公共版本库的路径为:
/pub/gittrees/our-repository/
外部可访问仓库地址为:
git://your-server-ip/your-repository/platform/manifest.git
Repo访问方法:
$repo init -u git://your-server-ip/our-repository/platform/manifest.git –b master-2.1_r2
一、安装git dameon
$ sudo apt-get install git-daemon-run
二、设置仓库目录
修改/etc/sv/git-daemon/run,配置git tree的目录以及共享目录
$ vi /etc/sv/git-daemon/run
#!/bin/sh
exec 2>&1
echo 'git-daemon starting.'
exec chpst -ugitdaemon \
/usr/lib/git-core/git-daemon --export-all --base-path=/pub/gittrees
/pub/gittrees
? --export-all:导出(共享)所有目录,否则要在每个要导出的目录下作如下操作:
$ touch git-daemon-export-ok
? --base-path: 映射仓库地址。/pub/gittrees是镜像目录。比如:
git://your_server_ip/repository/platform/manifest.git,则仓库地址在
/pub/gittrees/repository/platform/manifest.git
三、制作android服务器镜像
$ mkdir /pub/gittrees/android-mirror/
$ chown git.git /pub/gittrees/android-mirror/
$ cd /pub/gittrees/android-mirror/
$ repo init -u git://android.git.kernel.org/platform/manifest.git --mirror
$ repo sync -j18
如果不是使用android官方的仓库,用的是公司的仓库,根据实际情况改动. 在repo init的情况下增加 --mirror参数,创建本地镜像.
如:repo init -u 192.168.10.232:29418/android/standard -b kh-jb_16r6 -m secureos/jb_nabi2.xml --mirror
四、建立自己软件团队的公用版本库 1.
建立版本库
$ mkdir /pub/gittrees/our-repository
$ cd /pub/gittrees/our-repository
$ repo init -u /pub/gittrees/android-mirror/platform/manifest.git -–mirror
$ repo sync
如:$repo init -u /home/wantianpei/share/android-mirror/standard.git
--mirror
$ sudo vi /etc/sv/git-daemon/run
exec chpst -ugitdaemon \
"$(git --exec-path)"/git-daemon --verbose --export-all --base-path=/home/wantianpei/share /home/wantianpei/share
添加 --export-all
更改路径 --base-path=/home/wantianpei/share /home/wantianpei/share
1.1 修改 platform/manifest.git/config 文件,追加如下几行,允许上传补丁
[daemon]
uploadpack=true
uploadarch=true
receivepack=true
1.2 检出/修改/提交 platform/manifest.git
$ cd /tmp
$ git clone git://your-server-ip/our-repository/platform/manifest.git
$ cd manifest; vi default.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="korg"
- fetch="git://android.git.kernel.org/"
+ fetch="git://your-server-ip/our-repository/"
review="review.source.android.com" />
<default revision="master"
remote="korg" />
...
$ git commit -am ‘modified to fetch from local host’
$ git push git://your-server-ip/our-repository/platform/manifest.git
[注] git push 过程可能会出现error, 可查看日志/var/log/git-daemon/current, 可能需要手动修改platform/manifest.git/目录下objects和refs的权限
$ cd /pub/gittrees/our-repository/platform/manifest.git
$ sudo chmod 777 -R objects refs
2. 创建团队的master-2.1_r2开发分支(在另一台电脑上)
2.1 下载android-2.1_r2代码
$ mkdir ~/my-android-code ~/bin/repo
$ cd ~/my-android-code
$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ vi ~/bin/repo
#!/bin/sh
## repo default configuration
##
# REPO_URL='git://android.git.kernel.org/tools/repo.git'
REPO_URL='git://your-server-ip/our-repository/repo.git'
REPO_REV='stable'
$ repo init -u git://your-server-ip/our-repository/platform/manifest.git -b android-2.1_r2
按提示输入自己的用户名和邮箱即可
$ repo sync -j5
等10分钟左右,代码下载完成。(-j5表示同时下5个项目,可快点!)
2.2 建立主干开发分支
$ repo start master-2.1_r2 --all
2.3 设置远程仓库的别名为my-korg
$repo forall -c 'git remote add mykorg /pub/gittrees/our-repository/\
$REPO_PROJECT.git $@'
注:删除myorg:
$ repo forall -c git remote rm myorg
2.4 将分支提交至公共版本仓库
$ repo forall -c git push myorg master-2.1_r2:refs/heads/master-2.1_r2
$ repo sync
2.5 为你的公共版本库建立manifest分支
$ cd ~/my-android-code/.repo/manifests
$ git checkout -b master-2.1_r2
$ vi default.xml
按如下方式修改
<manifest>
<remote name="korg"
- fetch="git://android.git.kernel.org/"
+ fetch="git://172.20.158.5/our-repository/"
review="review.source.android.com" />
- <default revision="refs/tags/android-2.1_r2"
+ <default revision="refs/heads/master-2.1_r2"
remote="korg" />
修改完成后提交并将branch提交至公共版本库
$git commit -a
$git remote add our-repository /pub/gittrees/your-repository/platform/manifest.git
$git push your-repository master-2.1_r2:refs/heads/master-2.1_r2
现在我们自己团队的公共版本库创建完成。
公共版本库的路径为:
/pub/gittrees/our-repository/
外部可访问仓库地址为:
git://your-server-ip/your-repository/platform/manifest.git
Repo访问方法:
$repo init -u git://your-server-ip/our-repository/platform/manifest.git –b master-2.1_r2
相关文章推荐
- Android repo/git server 建立过程
- android repo/git server 建立过程(2)
- android repo/git server 建立过程
- android repo/git server 建立过程(1)
- Android repo/git server 建立过程
- 【转】android repo/git server 建立过程(1)
- 【转】android repo/git server 建立过程(2)
- Android开发过程中git、repo、adb、grep等指令的使用
- Android开发过程中git、repo、adb、grep等指令的使用
- 如何获得git-repo或者android repo
- android中repo和git记疑
- HenryWang SQL Server 2005 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程)
- 使用Git和Repo获取Android源码
- 使用git和repo下载Android的源代码
- 使用Git和Repo获取Android源码
- 使用Tomcat+geoserver+openlayers建立GIS网站过程
- 使用repo和git下载android源码 和 相关解释
- Android中Server组件的简要启动过程
- [Binder.3] Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
- Android Binder 修炼之道(四)Binder 系统C++ 发送数据过程以及Server注册服务处理数据的过程