Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions README
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
= Hello World 项目 =
## Hello World 项目
Hello World 项目是一个用 C 语言开发的演示项目,主要用于版本控制系统的演示。有 svn 和 hg 两种不同的版本,
分别用 Subversion 和 Mercurial 做版本控制,以演示两种版本库维护第三方版本库的高下。

本项目作为 svn 版本库维护的上游版本,对应的下游版本项目页,参见: [[//trac/hello-svn-hacks]]

相关的概念
* '''上游版本库''':
无权在该版本库中 Checkin,如果需要对其中的代码进行定制,只能通过 fork ── 本地重建版本库的方式。
* '''下游版本库''':
自己或自己所在的团队,为了修改上游版本库而另外建立的版本库。该版本库用于镜像上游代码,以及维护代码定制。
* '''卖主分支''':
使用 Subversion 作为下游版本库维护代码,采用的方法称为卖主分支。即使用一个分支专门用于镜像上游版本库的代码,在主线维护包含定制的代码。
* '''Hg + MQ''':
使用 Mercurial(Hg) 以及 Hg 内置的 MQ 插件来维护下游版本库,是一种更为有效的方法。尤其是对上游的定制相当的多和复杂的情况,可以大大减少由于上游版本频繁升级带来的维护负担。这种方法实际上维护的是一系列补丁文件,这些补丁文件使用的是 [[http://savannah.nongnu.org/projects/quilt|quilt]] 格式。

* **上游版本库**:

无权在该版本库中 Checkin,如果需要对其中的代码进行定制,只能通过 fork ── 本地重建版本库的方式。

* **下游版本库**:

自己或自己所在的团队,为了修改上游版本库而另外建立的版本库。该版本库用于镜像上游代码,以及维护代码定制。

* **卖主分支**:

使用 Subversion 作为下游版本库维护代码,采用的方法称为卖主分支。即使用一个分支专门用于镜像上游版本库的代码,在主线维护包含定制的代码。

* **Hg + MQ**:

使用 Mercurial(Hg) 以及 Hg 内置的 MQ 插件来维护下游版本库,是一种更为有效的方法。尤其是对上游的定制相当的多和复杂的情况,可以大大减少由于上游版本频繁升级带来的维护负担。这种方法实际上维护的是一系列补丁文件,这些补丁文件使用的是 [[http://savannah.nongnu.org/projects/quilt|quilt]] 格式。