代码管理Topgit原理及安装.doc_第1页
代码管理Topgit原理及安装.doc_第2页
代码管理Topgit原理及安装.doc_第3页
代码管理Topgit原理及安装.doc_第4页
代码管理Topgit原理及安装.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Topgit 原理及安装针对网友 dd 对 topgit 的疑问,我将写作中的 topgit 部分章节摘录如下。关于 dd 问到 windows 如何安装,应该可以在 cygwin 的环境下安装 topgit。我暂时还没有试验,因此并不是十分确定。Windows 下的 Git 我准备专门一章加以介绍,还没有开始呢。5.3.2Topgit 原理下面的分支图,是一个近似的 Topgit 实现图(略去了重要的 top-bases 分支)。 +-b1-M1-M3- (特性分支B: refs/heads/t/B) | / / +-a1-a2-a3-M2- (特性分支A: refs/heads/t/A) | /-V1-V2- (主线/卖主分支: master) | +-c1-M4- (特性分支C: refs/heads/t/C)在上图中,主线上的 V1 是上游的版本的一次提交。特性分支 A 和 C 都直接依赖主线 master,而特性分支 B 则依赖特性分支 A。提交 M1 是特定分支 B 因为特性分支 A 更新而做的一次迁移。提交 M2 和 M4,则分别是特性分支 A 和 C 因为上游出现了新版本 V2 而做的迁移。当然特性分支 B 也要做相应的迁移,是为 M3。上述的描述非常粗糙,因为这样的设计很难实现特性分支导出为补丁文件。例如特性分支B的补丁,实际上应该是 M3 和 M2 之间的差异,而绝不是 M3 到 a2 之间的差异。Topgit 为了能够实现分支导出为补丁,又为每个特性的开发引入了第二个分支,追踪分支依赖的“变基”。 +-a1-a2 | | | +-a3-M2- (特性 B 的变基分支: refs/top-bases/t/B) | / +-V2- (特性 A 的变基分支: refs/top-bases/t/A) | /-V1-V2- (主线/卖主分支: master) | +-V2- (特性 C 的变基分支: refs/top-bases/t/C)把上面的两张分支图重合,实际上就可以获得各个特性分支在任一点的特性补丁文件。上面的特性分支 B 还只是依赖一个分支,如果出现一个分支依赖多个特性分支的话,情况就会更加的复杂,更会体现出这种设计方案的精妙。Topgit 还在每个特性分支工作区的根目录引入两个文件,用以记录分支的依赖以及关于此分支的说明。 文件.topdeps记录该分支所依赖的分支列表。该文件通过tg create命令在创建特性分支时自动创建,或者通过tg depend add命令来添加新依赖。 文件.topmsg记录该分支的描述信息。该文件通过tg create命令在创建特性分支时创建,也可以手动编辑。5.3.3Topgit 的安装Topgit 的可执行命令只有一个tg。其官方参考手册见:http:/repo.or.cz/w/topgit.git?a=blob;f=README。安装官方的 Topgit 版本,直接克隆官方的版本库,执行 make 即可。$ git clone git:/repo.or.cz/topgit.git$ cd topgit$ make$ make install缺省会把可执行文件tg安装在 $HOME/bin (用户主目录下的 bin 目录)下,如果没有将 /bin 加入环境变量 $PATH 中,可能无法执行 tg。如果具有 root 权限,也可以将 tg 安装在系统目录中。$ sudo prefix=/usr make install我对 Topgit 做了一些增强和改进,在后面的章节予以介绍。如果想安装我改进的版本,需要预先安装 quilt 补丁管理工具。然后进行如下操作。$ git clone git://ossxp-com/topgit.git$ cd topgit$ QUILT_PATCHES=debian/patches quilt push -a$ make$ sudo prefix=/usr make install如果您用的是 Ubuntu 或者 Debian Linux 操作系统,还可以这么安装。 先安装 Debian/Ubuntu 打包依赖的相关工具软件。 $ sudo aptitude install quilt debhelper build-essential fakeroot dpkg-dev 再调用 dpkg-buildpackage 命令,编译出 DEB 包,再安装。 $ git clone git://ossxp-com/topgit.git $ cd topgit $ dpkg-buildpackage -b -rfakeroot $ sudo dpkg -i ./topgit_*.deb 安装完毕后,重新加载命令行补齐,可以更方便的使用 tg 命令。 $ . /etc/b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论