gclient来管理源码的checkout, update等。 gclient是google专门为这种多源项目编写的脚本,它可以将多个源码管理系统中的代码放在一起管理。甚至包括将Git和svn代码放在一起。
重点说明下和gclient密切相关的两类文件.gclient和DEPS。
.gclient文件是gclient的控制文件,该文件放在工作目录的最上层。是主文件, ".gclient"文件是一个Python的脚本
它指定以下变量
solutions:一组字典,用于指定要获取的项目
此文件在src目录的同级目录。
  • target_os:一个可选的(目标)操作系统数组,用于获取特定于操作系统的依赖项。
solutions数组中描述的每个项目都可以包含一个可选的DEPS文件。.gclient文件是gclient config <url>手动生成的。
solutions下面又有下面这些值:
  • name: the path of the checkout.
  • url: the remote repository to fetch/clone.
  • url : 源码所在的目录,gclient希望checkout出的源码中包括一个DEPS的文件,这个文件包含了必须checkout到工作目录的源码的信息;
  • deps_file 这是一个文件名(不包括路径),指在工程目录中包含依赖列表的文件,该项为可选,默认值为"DEPS"
  • custom_deps 这是一个可选的字典对象,会覆盖工程的"DEPS"文件定义的条目。一般它用作本地目录中,那些不用checkout的代码,如
  1. "custom_deps": {
  2. "src/content/test/data/layout_tests/LayoutTests": None,
  3. "src/chrome/tools/test/reference_build/chrome_win": None,
  4. "src/chrome_frame/tools/test/reference_build/chrome_win": None,
  5. "src/chrome/tools/test/reference_build/chrome_linux": None,
  6. "src/chrome/tools/test/reference_build/chrome_mac": None,
  7. "src/third_party/hunspell_dictionaries": None,
  8. },
         或者让本地目录从不同位置checkout一个新的代码出来,或者checkout不同的分支、版本等。也可以用于增加在DEPS中不存在的新的项 目
在每个checkout出的工程中,gclient期望发现一个DEPS文件,它定义了工程不同部分都是如何checkout出来。
“DEPS”也是一个python脚本,最简单的,如下:
DEPS文件指定项目的依赖项,它指定以下变量:
deps: a dictionary of child dependencies to fetch要获取的子依赖项
  1. deps = {
  2. "src/outside" : "http://outside-server/trunk@1234",
  3. "src/component" : "svn://svnserver/component/trunk/src@77829",
  4. "src/relative" : "/trunk/src@77829",
  5. }
deps的每个条目都包含一个key-value对,key是被checkout的本地目录,而value就是对应的远程URL。
如果路径是以'/'开头的,那么它是一个相对URL,相对与.gclient中URL地址。
hooks: hooks to run after a sync.
  • Var(): replace this string with a variable defined in vars or overridden.
将此字符串替换为在vars中定义或覆盖的变量
http://blog.csdn.net/doon/article/details/9287693

gclient多源码管理工具 DEPS文件相关推荐

  1. 配置源码管理工具(2)

    源码管理是开发中最重要的事情之一,在vs.net里我们通常采用vss进行版本控制,在Eclipse里看帖子说用svn的比例很大,和IDE的集成性也很好. 1:服务器部署 下载地址是:http://su ...

  2. 0918 iOS10兼容/iOS系统过高或过低配置包/混合引擎的在线视频连麦互动直播/源码管理工具/Xcode8插件升级/导航栏渐变

    1 兼容iOS 10 资料整理笔记 http://www.jianshu.com/p/42e506998082 iOS developerDiskImage 这是由于真机系统过高或者过低,Xcode中 ...

  3. 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

    1.1 环境 Visual Studio + GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Me ...

  4. 源码管理工具VSN的安装与使用--eclipse

    Eclipse下的源码管理可以使用CVS(http://www.nongnu.org/cvs/)或者SubVersion(http://subversion.apache.org/).CVS出现的比较 ...

  5. android 源码管理工具repo

    概述 Repo:是对 Git 构成补充的 Google 代码库管理工具. Repo 可以在必要时整合多个 Git 代码库,将相关内容上传到 Gerrit 修订版本控制系统,并自动执行 Android ...

  6. java代码管理工具_java源码管理与版本控制工具,图文详解

    近些年社会科学技术水平的发展越来越快速了,这也促进了人们对于新技术新知识的学习.尤其是java的应用也越来越广泛.今天就来为大家介绍一下,java源码管理与版本控制工具,一起来了解一下吧. java项 ...

  7. 从漫画看源码管理方式

    一直以来我都比较在意源码的管理,怎么说也是自己辛苦写的东西,改得又很频繁,没有个好方法好工具管理起来还真是不放心. 最近几年主要是用分布式版本控制工具Mercurial(HG),个人觉得还是挺好用的. ...

  8. Visual studio 2005如何实现源码管理

    转自CSDN Visual studio 2005如何实现源码管理(Visual Studio .Net团队开发) 目录: 〇. 摘要 一. 开发前的准备 二. 创建空的SourceSafe数据库 三 ...

  9. WSL下源码阅读工具LXR(Linux Cross-Referencer)的配置

    题外话:不知道是不是太久没有配置/部署软件的原因,上手配置LXR给我的体感比较不好,因此写下此博客记录该工具配置的过程 项目官网:zh/LXR 项目 参考教程1:史上最详细的LXR安装介绍_mosen ...

  10. linux mkfs 源码,mkfs工具怎么移植到嵌入式平台下面

    找到了e2fsprogs-1.41.3的源码,怎么修改编译后才能移植到嵌入式平台? 有交叉编译工具.但是不知道怎么修改Makefile文件 刚开始e2fsprogs的源码里没有Makefile文件 但 ...

最新文章

  1. 中科院分词系统(NLPIR)JAVA简易教程
  2. Tizen 2.0 SDK 和源码发布
  3. cnetos6,centos7添加新网卡,系统不识别的解决办法
  4. 使用cordova进行App打包
  5. 用SecureCRT实现真机跟虚拟机的文件传输
  6. 计算机应用问题,计算机应用的现状与发展的问题
  7. django的contenttype表
  8. MongoDB 教程一: 安装和使用 (Mongodb启动命令mongod参数说明)
  9. showdoc windows 搭建_showdoc的安装和使用
  10. ubuntu NGINX uwsgi https 部署Django 遇到的问题
  11. jQuery Mobile中的页面加载与跳转机制
  12. SQL里面也能用Split()
  13. 图像sift配准后融合
  14. 专业书籍阅读-Earth System Science Data Resources
  15. 【数据结构】哈希(Hash)
  16. java 给图片添加水印文字
  17. 阿里P10赵海平跳槽字节跳动:深度解析跳槽从开始到结束完整流程!
  18. 《易经》全文翻译(值得收藏)
  19. F28335第七篇——新建项目之编程演示
  20. 松鼠Ai辅助公校教育,开启智慧教育3.0

热门文章

  1. WaveDrom 时序图编辑器
  2. XBuilder:Ext表单设计的完美实现
  3. python读取excel画散点图对应多个y_Python数据分析:折线图和散点图的绘制
  4. correl函数相关系数大小意义_EXCEL中的相关系数能说明什么?
  5. mac教程:重置苹果Mac上的NVRAM或PRAM?
  6. vbox win10 分辨率_win10如何更改分辨率?
  7. excel如何把顺序倒过来_Excel中表格进行颠倒顺序的操作方法
  8. L1-020. 帅到没朋友
  9. python-seleium实现珞珈在线网课辅助观看功能
  10. WebStorm之如何清除缓存