首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

Mercurial思维研读系列文章——3. 改变集

2012-12-24 
Mercurial思想研读系列文章——3. 改变集这里不再重复上一节的内容了,直接说明一下改变集包括的内容?Changes

Mercurial思想研读系列文章——3. 改变集

这里不再重复上一节的内容了,直接说明一下改变集包括的内容

?

Changeset(改变集)是对仓库中文件改变的原子粒度收集。

?

改变集包括:

the nodeid of its manifest

the list of changed files

information about who made the change (the "committer"), why ("comments") and when (date/time, timezone)

the name of the branch ("default", if omitted or not set)

?

每个改变包括0-2个父改变集:

0:root

1:普通的修改

2:两个集合merge

?

改变集是在commit的时候生成的。跟SVN情况相同。

?

改变集的例子:

1102691ceab8c8f278edecd80f2e3916090082dd <- nodeid

mpm@selenic.com <- 提交的用户

1126146623 25200 <- 时间, in seconds since the epoch, and seconds offset from UTC

mercurial/commands.py <- 修改文件列表,followed by the commit message

?

通过log命令可以查看改变集,教程中有给出了例子,直接看一段debug的全部信息,说明下重要的改变集相关的属性,具体命令下一节做个总结吧,这里先用。

$ hg log --debug

manifest: ? ?1:0c7c1d435e6703e03ac6634a7c32da3a082d1600

changeset: ? 1:82e55d328c8ca4ee16520036c0aaace03a5beb65

tag: ? ? ? ? tip

parent: ? ? ?0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9

parent: ? ? ?-1:0000000000000000000000000000000000000000

user: ? ? ? ?mpm@selenic.com

date: ? ? ? ?Fri Aug 26 01:21:28 2005 -0700

files+: ? ? ?Makefile

description:

Create a makefile

?

-->changeset 标识了一个 改变集.

冒号前面的数字代表版本号; 它是一种标识改变集的本地缩写.只是在你的本地仓库中这个版本号才有意义.

冒号后面的那个很长的十六进制串是 ChangeSetID; 它是标识改变集的全局唯一标识符, 在所有包含这个改变集的仓库中都相同. 如果你正在和其他人讨论某个改变集,请使用这个 ChangeSetID,而不是上面说的版本号.

-->tag 是一个标签,可以理解成为一个改变集指定的名字.

你可以给任何改变集指定一个或者多个标签. 实际上, 许多改变集都是没有标签的, 所以tag这一行很多时候都不存在.

名叫tip 的特殊标签总是表示,它是仓库中最后一个改变集。 如果你创建另外的改变集(一会我们会看到),那么它将会变成 Tip。

-->

file+ 列出了在此改变集中增加的文件。

file- 列出了在此改变集中删除的文件。

manifest 给这个改变集一个 Manifest 号。(Manifest 描述了仓库中对于一个>changeset ID的内容,它主要包括了文件列表和当前版本,manifest ID用于标识特定改变集的manifest版本,多个改变集可以拥有同一个manifest版本。)

?

?

?

热点排行