10.5. 版本控制系统
如下是 Debian 系统上可用的版本控制系统(VCS) 的摘要。
注意 | |
---|---|
如果是刚接触版本控制系统,你应该从 git 入门,git 人气日益高涨。 |
表 10.11. 版本控制系统工具列表
软件包 | 流行度 | 大小 | 工具 | VCS 类型 | 描述 |
---|---|---|---|---|---|
cssc | V:0, I:2 | 2035 | CSSC | 本地 | Unix SCCS (过时)的克隆 |
rcs | V:3, I:21 | 555 | RCS | 本地 | “比 Unix SCCS 做的好” |
cvs | V:5, I:49 | 4596 | CVS | 远程 | 以前的远程 VCS 标准 |
subversion | V:27, I:131 | 4809 | Subversion | 远程 | ”比 CVS 做的好“,远程 VCS 的新标准 |
git | V:301, I:458 | 35266 | Git | 分布式 | 用 C 写的快速 DVCS (被 Linux 内核和其他项目使用) |
mercurial | V:11, I:56 | 913 | Mercurial | 分布式 | mercurial 主要是用 Python 写的还有一部分是 C 写的 |
bzr | V:3, I:20 | 74 | Bazaar | 分布式 | 受 tla 启发并且是用 Python 写的 DVCS (被 Ubuntu 使用) |
darcs | V:0, I:8 | 27950 | Darcs | 分布式 | 有智能代数补丁的 DVCS(慢) |
tla | V:0, I:6 | 1011 | GNU arch | 分布式 | 主要由 Tom Lord 写的 DVCS (成为历史的) |
monotone | V:0, I:0 | 5815 | Monotone | 分布式 | 用 C++ 写的 DVCS |
tkcvs | V:0, I:1 | 1498 | CVS, … | 远程 | VCS (CVS,Subversion,RCS) 存储库树的图形界面显示 |
gitk | V:8, I:47 | 1539 | Git | 分布式 | VCS (Git) 存储库树的图形界面显示 |
VCS 有时被认为是修订控制系统 (RCS), 或者是软件配置管理程序 (SCM)。
像 Git 这样的分布式 VCS 是现在正在使用的工具。参加那些已经存在的开源软件的开发活动,掌握 CVS 和 Subversion 仍然是有用的。
通过 Debian Salsa 服务,Debian 能够提供免费的 Git 服务。在 https://wiki.debian.org/Salsa 能找到它的说明文档。
小心 | |
---|---|
Debian 已经停止了其旧有的 alioth 服务,旧的 alioth 服务数据可以在 alioth-archive 站点上以 tar 压缩包的形式获取。 |
这里有一些关于创建共享访问 VCS 归档的基础知识。
使用 “
umask 002
“ (参见 第 1.2.4 节 “控制新建文件的权限:umask”)使得所有的 VCS 归档文件属于一个相关的组
能够在所有的 VCS 归档目录设置组 ID(类似 BSD 的文件创建方案,参见第 1.2.3 节 “文件系统权限”)
使得属于这个组的用户能够共享 VCS 归档