建立Baseline之repo,manifest
来源:互联网 发布:工业英语电子词典软件 编辑:程序博客网 时间:2024/05/03 19:39
1. 从高通或者谷歌的网站下载repo.git
https://www.codeaurora.org/cgit/quic/la/tools/repo/
Clone
git://codeaurora.org/quic/la/tools/repo
由于高通用的是caf-stable分支,所以我们要
$ git checkout caf-stable
Push repo.git到服务器:
创建
ssh -p 29418 hwh@192.168.5.42 gerrit create-project -p All-Projects -n tools/repo --empty-commit
Push
改.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://hwh@192.168.5.42:29418/tools/repo 此处改为服务器地址
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "stable"]
remote = origin
merge = refs/heads/stable
[branch "caf-stable"]
remote = origin
merge = refs/heads/caf-stable
git push --tags origin HEAD:refs/heads/caf-stable
更改~/bin/repo
取manifest git时需要用到
REPO_URL = ' http://192.168.5.42:8081/tools/repo'
REPO_REV = 'caf-stable'
ssh -p 29418 hwh@192.168.5.42 gerrit create-project -p All-Projects -n platform/manifest --empty-commit
在 http://192.168.5.42:8081/上用图形界面创建 platform/manifest 的分支: qmc-8974-la-4.0.2-ref
$ repo init -u http://192.168.5.42:8081/platform/manifest.git -b qmc-8974-la-4.0.2-ref
fatal: manifest 'default.xml' not available
fatal: manifest default.xml not found
需要新建default文件
从别处复制default.xml到 .repo/manifests,然后改动default.xml
<manifest>
<remote fetch=" http://192.168.5.42:8081" name="origin" review=" http://192.168.5.42:8081"/>
$ cd .repo/manifests
$ git add .
$ git commit -m "XXX"
winva@winva-Lenovo :~/project-1T/test/qmc-8974-la-4.0.2-ref/.repo/manifests$ git push ssh://hwh@192.168.5.42:29418/platform/manifest HEAD:refs/for/qmc-8974-la-4.0.2-ref
在服务器上Merge这个commit,然后重新repo init
$ repo init -u http://192.168.5.42:8081/platform/manifest.git -b qmc-8974-la-4.0.2-ref
winva@winva-Lenovo:~/project-1T/test/qmc-8974-la-4.0.2-ref$ ll .repo/
total 20
drwxrwxr-x 5 winva winva 4096 Jan 11 10:04 ./
drwxrwxr-x 3 winva winva 4096 Jan 9 11:37 ../
drwxrwxr-x 3 winva winva 4096 Jan 9 11:50 manifests/
drwxrwxr-x 10 winva winva 4096 Jan 11 10:04 manifests.git/
lrwxrwxrwx 1 winva winva 21 Jan 11 10:04 manifest.xml -> manifests/default.xml
drwxrwxr-x 7 winva winva 4096 Jan 9 11:37 repo/
$ repo sync
这样仅仅通过gerrit,我们也可以建立一个代码下载没有限制,代码上传需要Key的服务器。完全不需要gitosis。
git push orgin master
git push仅仅能push到一个分支,如果想把git里的所有分支都push到服务器上只能用scp把整个git复制到服务器上了。
scp ../..
或者
以镜像推送的方式上传代码到 GitHub 服务器上。
cd project.git
git push –mirror git@github.com:username/newproject.git
未在本机实验,仅供参考:
4.9 Git 守护进程
对于提供公共的,非授权的只读访问,我们可以抛弃 HTTP 协议,改用 Git 自己的协议,这主要是出于性能和速度的考虑。Git 协议远比 HTTP 协议高效,因而访问速度也快,所以它能节省很多用户的时间。
重申一下,这一点只适用于非授权的只读访问。如果建在防火墙之外的服务器上,那么它所提供的服务应该只是那些公开的只读项目。如果是在防火墙之内的 服务器上,可用于支撑大量参与人员或自动系统(用于持续集成或编译的主机)只读访问的项目,这样可以省去逐一配置 SSH 公钥的麻烦。
但不管哪种情形,Git 协议的配置设定都很简单。基本上,只要以守护进程的形式运行该命令即可:
git daemon --reuseaddr --base-path=/opt/git/ /opt/git/
这里的 –reuseaddr 选项表示在重启服务前,不等之前的连接超时就立即重启。而 –base-path 选项则允许克隆项目时不必给出完整路径。最后面的路径告诉 Git 守护进程允许开放给用户访问的仓库目录。假如有防火墙,则需要为该主机的 9418 端口设置为允许通信。
以守护进程的形式运行该进程的方法有很多,但主要还得看用的是什么操作系统。在 Ubuntu 主机上,可以用 Upstart 脚本达成。编辑该文件:
/etc/event.d/local-git-daemon
加入以下内容:
start on startup
stop on shutdown
exec /usr/bin/git daemon \
--user=git --group=git \
--reuseaddr \
--base-path=/opt/git/ \
/opt/git/
respawn
出于安全考虑,强烈建议用一个对仓库只有读取权限的用户身份来运行该进程 — 只需要简单地新建一个名为 git-ro 的用户(译注:新建用户默认对仓库文件不具备写权限,但这取决于仓库目录的权限设定。务必确认git-ro 对仓库只能读不能写。),并用它的身份来启动进程。这里为了简化,后面我们还是用之前运行 Gitosis 的用户 ‘git’。
这样一来,当你重启计算机时,Git 进程也会自动启动。要是进程意外退出或者被杀掉,也会自行重启。在设置完成后,不重启计算机就启动该守护进程,可以运行:
initctl start local-git-daemon
而在其他操作系统上,可以用 xinetd,或者 sysvinit 系统的脚本,或者其他类似的脚本 — 只要能让那个命令变为守护进程并可监控。
0 0
- 建立Baseline之repo,manifest
- 实例--建立简单的repo服务器 && manifest 框架
- repo 切换manifest
- repo 建立
- Repo Manifest 格式(XML文件)
- Repo的manifest XML文件格式
- [随笔]repo manifest.xml修改
- 建立repo库
- Android Repo的manifest XML文件格式
- Android Repo的manifest XML文件格式
- Android Repo的manifest XML文件格式 .
- Android Repo的manifest XML文件格式
- android repo中manifest.xml的详解
- Android Repo的manifest XML文件格式
- android repo中manifest.xml的详解
- Android Repo的manifest XML文件格式
- BaseLine
- Android之Baseline/Main/High
- IO库的举例
- Java集合的基本使用
- 特殊数据类型
- 获取全局Context对象,任何时候,任何地方,任何逻辑都可以获取
- 9. Palindrome Number
- 建立Baseline之repo,manifest
- NSMutableAttributedString富文本的实现
- mellanox官方驱动安装步骤
- 2016外省人在上海办护照,港澳台通行证详细指南
- https://projecteuler.net/problem=4
- var_dump($b);
- iOS去掉按钮的点击效果
- sed的简单用法
- TCP_NODELAY与TCP_CORK