`
384444165
  • 浏览: 258806 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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版本。)

 

 

 

分享到:
评论

相关推荐

    emacs-mercurial-el-2.6.2-11.el7.x86_64 (1).rpm

    离线安装包,测试可用

    mercurial-2.6.2-11.el7.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    mercurial-2.7-rc.tar.gz

    安装完成后,Mercurial的命令行工具(如`hg`)就可以在您的系统中使用了,你可以用它来管理你的项目,进行提交、更新、分支、合并等一系列版本控制操作。 在实际使用中,了解Mercurial的基本命令是至关重要的,例如...

    emacs-mercurial-2.6.2-11.el7.x86_64.rpm

    emacs-mercurial-2.6.2-11.el7.x86_64.rpm

    PyPI 官网下载 | mercurial_on_remote-1.0.0.tar.gz

    这个库的命名暗示了它可能与Mercurial——一个分布式版本控制系统有关,并且可能着重于处理远程操作。 Mercurial是一个强大的版本控制工具,类似于Git,它允许开发者追踪代码的修改历史,协同工作,并管理项目的...

    mercurial_extension.zip

    这些扩展通常以Python模块的形式存在,位于Mercurial的`extensions`目录下,或者在`~/.hgrc`(Unix系统)或`%USERPROFILE%\Mercurial.ini`(Windows)配置文件中被引用。扩展通过在`[extensions]`部分添加扩展名来...

    Mercurial6.2.2.zip

    而“git 分布式 mercurial”的标签,则将Mercurial与另一种著名的DVCS——Git进行了关联,暗示我们将对比两者之间的异同。 Mercurial的核心概念在于其分布式特性。与集中式的版本控制系统(如CVS或SVN)不同,每个...

    Mercurial3.7.3.7

    3. **msvcr90.dll、msvcp90.dll、msvcm90.dll**:这些都是Microsoft Visual C++ 2008 Redistributable的动态链接库(DLL)文件,用于支持Mercurial的运行环境。 4. **w9xpopen.exe**:这是一个Windows XP兼容性文件...

    mercurial-1.8.4-x86.zip(安装包)

    **分布式版本控制系统Mercurial** Mercurial是一种强大的开源分布式版本控制系统,它的设计目标是简单易用、高效且可扩展。Mercurial的核心是基于文件的版本管理,它允许开发人员在本地工作,并通过网络与其他用户...

    Python库 | mercurial_extension_utils-0.11.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:mercurial_extension_utils-0.11.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | mercurial-6.0.1.tar.gz

    《Python库Mercurial详解——基于6.0.1版本》 Mercurial,一个强大的分布式版本控制系统,是Python开发的重要工具之一。在软件开发过程中,版本控制是必不可少的环节,它能帮助开发者追踪代码的变化,协同工作,...

    mercurial-3.7.1-x86.msi

    mercurial-3.7.1-x86.msi 最新的windows安装包,

    Mercurial 参考手册

    《Mercurial 参考手册》是一本详细阐述Mercurial版本控制系统知识的资源,适合开发者和IT专业人员学习和参考。Mercurial是一种分布式版本控制系统,它允许用户跟踪和管理代码更改,便于团队协作和项目管理。在这个...

    Mercurial-5.1.2-x64.exe

    在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所需要的资源。

    Mercurial-6.1.2-x64.exe

    Mercurial在IT界是跨平台的分布式版本控制软件,主要由Python语言实现。主要是命令行程序操作,图像化呢也有。由于该软件命名中文翻译是——水银,为了输入命令时方便,用元素命名Hg来作为调用程序的关键字。

    Mercurial与TortoiseHg使用入门教程

    Mercurial和TortoiseHg是一套强大的版本控制系统,尤其适合那些希望管理代码和项目变更的用户。Mercurial,常简称为Hg,是一个分布式版本控制系统,它允许开发者在本地存储完整的代码历史,无需中央服务器。Tortoise...

    Mercurial 分布式版本控制系统 部署 server 服务

    在本篇文章中,我们将深入探讨如何部署Mercurial服务器服务,以便团队成员可以安全地共享和协作代码。 首先,我们需要了解分布式版本控制系统的概念。与集中式版本控制系统(如SVN)不同,分布式系统中的每个工作...

    mercurial-4.3.1.win-amd64-py2.7.msi

    在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所需要的资源。

Global site tag (gtag.js) - Google Analytics