Mercurial 是一个开源,免费,轻量级,快速,可移植且分布式的源代码管理(SCM)系统和版本控制系统,专门用于高效处理大型分布式项目。
该软件为用户提供易于使用且直观的命令行界面,目前广泛用于需要可靠,分布式和快速版本控制的项目,如OpenSolaris,MoinMoin或Xen。
它也很容易学习,它只是有效。项目的主页上提供了两个关于如何克隆项目和推送更改以及创建项目和提交的快速入门教程。
命令行选项
在其命令行选项中,如果执行‘ hg --help’可以一目了然地查看在终端模拟器/命令提示符中的命令,我们可以提到在下次提交时添加所选文件,添加所有新文件和删除缺失文件的能力,查看每个文件的变更集信息,将存储库修订压缩为无版本存档,应用一个或多个更改组文件,在分支之间复制更改或搜索更改集。
此外,您可以反转上一个变更集的效果,创建书签,列出现有书签和存储库命名分支,列出跟踪文件,查看分支头,导入一组有序的补丁,验证存储库的完整性,搜索修订版或指定文件中的模式,重命名文件,激活独立Web服务器,更新工作目录,在当前目录中创建新存储库等等。
引擎盖和支持的操作系统
Mercurial完全采用Python编程语言编写,从头开始设计为跨平台软件,可在所有GNU / Linux发行版以及Microsoft Windows和Mac OS X操作系统上运行良好。目前支持32位和64位架构。
此版本中的新功能:
- demandimport :不要为fromlist中的未知项引发ImportError
- posix:make signal()在信号中断时重启(issue5452)
- hgweb:在rss样式中添加缺少的斜杠到文件日志URL
版本中的新功能:
- demandimport:不要为fromlist 中的未知项引发ImportError
- posix:make signal()在信号中断时重启(issue5452)
- hgweb:在rss样式中添加缺少的斜杠到文件日志URL
版本4.2.3中的新功能:
- demandimport:不要为未知项目引发ImportError fromlist里
- posix:make signal()在信号中断时重启(issue5452)
- hgweb:在rss样式中添加缺少的斜杠到文件日志URL
版本4.2.2中的新功能:
- demandimport:不要为未知项目引发ImportError fromlist里
- posix:make signal()在信号中断时重启(issue5452)
- hgweb:在rss样式中添加缺少的斜杠到文件日志URL
版本4.1.1中的新功能:
- demandimport:不要为未知项目引发ImportError fromlist里
- posix:make signal()在信号中断时重启(issue5452)
- hgweb:在rss样式中添加缺少的斜杠到文件日志URL
版本4.0.2中的新功能:
- demandimport:不要为fromlist 中的未知项引发ImportError
- posix:make signal()在信号中断时重启(issue5452)
- hgweb:在rss样式中添加缺少的斜杠到文件日志URL
版本3.7.2中的
新功能:
- bundlerepo:正确处理filelog中的隐藏linkrev(issue4945)
- bundlerepo:正确处理manifestlog中的隐藏linkrev(issue4945)
- demandimport:添加_imp以忽略列表
- doc:关于手册页“hgrc.5”中的“hg purge”别名的正确例子
- doc:从命令帮助概要中删除已弃用的选项
- fileset:修复复制/粘贴eol()错误消息
- help:修复backgroundclose文档中的拼写错误
- help:hg.intevation.de是hg.intevation.de(和新证书)的新主要名称
- help:更新模板示例以使用reST文字语法
- hg:从池状仓库创建共享时获取锁定(issue5104)
- log:修复由多个OR选项(issue5100)过滤的修订顺序
- rebase:中止时更新工作目录(issue5084)
- revert:在合并期间正确恢复为p2的祖先(issue5052)
- revset:flatten chained'list'操作(又名函数args)(issue5072)
- 设置:避免在setup.py --pure 中与hg.exe相关的过程
- ui:通过非交互式提示回显用户名 修复崩溃
- unionrepo:正确处理revlog中的隐藏linkrev(issue5070)
- zeroconf:转发传递给ui.configitems()包装器的所有参数
版本3.7.1中的
新功能:
- 修正:不保留大多数额外字段
- 移植:不保留大多数额外字段
- histedit:修复文档中的拼写错误
- osutil:在不支持的平台上禁用recvfds()的编译
- osutil:不要因为libc没有recvmsg()而中止加载纯模块
- rebase:backout changeset 986d04b9fedd
- rebase:backout changeset d755a9531fce
- rebase:不保留大多数额外字段
版本3.5.1中的新功能:
- 转换:修复git副本文件内容转换
- filesets:忽略大小的单位情况(单个值的谓词)
- 帮助:修复错误熟人 - >熟悉
- help:修复脚本文档中的拼写错误
- hg:当克隆目的地是远程时,避免自动共享
- hgweb:修复模板路径(BC)的信任
- histedit:backout ebb5bb9bc32e
- largefiles:确保lfutil.getstandinmatcher()仅匹配standins
- 匹配:修复icasefs(issue4768) 上的仅大小写重命名+显式路径提交
- 解析器:修复compute_phases_map_sets中的内存泄漏
- rebase:在完全rebase操作期间锁定repo
- revset:在优化“和” 时防止由空组表达引起的崩溃
- revset:在优化“或” 时防止由空组表达引起的崩溃
- strip:在剥离期间使用'finally:tr.release'模式
- 更新:为整个'hg update'命令解锁repo
- wix:使用'hg help -k foo' 避免中止
版本3.4.2中的新功能:
- changegroup:在changeggroupsubset(issue4736) 中正确计算公共基数
- crecord:修复了将crecord移动到核心时引入的拼写错误
- crecord:修复了将crecord移动到核心时引入的三个拼写错误
- hgwebdir:当设置'web.name'时,避免冗余的repo和目录条目
- hgwebdir:不允许subrepo的隐藏父级显示为目录
- 解析器:不要缓存RevlogError类型(issue4451)
- pull:使用'hg pull --rev name --update'避免竞争条件(issue4706)
- 模板:不要在“if”表达式(issue4714) 中预处理模板字符串
- templater:适当地评估传递给diff()的参数
- templater:将“...”解析为2.9.2-3.4兼容性(issue4733)的字符串
- 移植:只拉动移植的修订版(issue4692)
版本3.4中的新功能:
- 命令:
- annotate:添加选项以注释工作目录文件
- 注释:始终准备基础fctx的祖先上下文(issue4600)
- 注释:在走向父母之前总是调整linkrev(issue4623)
- annotate:准备workfilectx的祖先上下文
- 书签:添加incoming()以替换传入书签的diff()
- 书签:添加outgoing()以替换传出书签的diff()
- 书签:在可用@number提高效率之前检查@pathalias后缀
- 书签:增强对显示传入/传出书签的详细信息的测试
- 书签:防止不同的书签意外更新
- 书签:重复@number书签,如果它引用远程引用的变更集
- 书签:通过compare() 重写比较commands.summary()中的书签
- 书签:显示有关传入/传出书签的详细状态
- clone:向硬链接克隆添加进度支持(issue3059)
- commands.import:接受前缀选项
- commands.push:当修订评估为空集(BC) 时中止
- 命令:add ui.statuscopies config knob
- debuginstall:在搜索之前展开编辑器路径(issue4380)
- 文件:将可重复使用的实现拆分为cmdutil以支持子补助
- 文件:使用ctx对象访问dirstate
- 移植:允许创建兄弟移植物
- 移植:在附加物中记录中间移植物
- log:将结束分支节点显示为“_”(BC)
- log:fix --follow null parent不包含修订版0
- log:make -fr显示给定转速的完整历史记录
- log:首选'wctx'而不是'pctx'来处理工作环境
- patch.internalpatch:接受前缀参数
- patch.internalpatch:为前缀 添加默认值
- patch:将pathtrip重命名为pathtransform
- pull:在访问其他repo之前打印“从foo拉”
- 推送:如果预期“推迟”(BC)(issue4596),获取本地'wlock'
- 解决:对-l / - list(BC) 的未知拍子的沉默警告
- revert:根据工作目录评估文件集(issue4497)
- revert:fix --interactive on local modification(issue4576)
- revert:在交互式还原(issue4592) 后停止标记文件
- 还原:只接受没有路径的-I / -X或-a / -i(issue4592)
- revert:如果尺寸未更改,则在恢复的文件上应用normallookup(issue4583)
- 还原:恢复仅对仅重置案例进行还原的能力(issue4481)
- status:添加相对目录帮助文本(issue3835)
- 核心:
- bundle2:捕获事务回滚消息输出(issue4614)
- bundle2:禁用输出捕获,除非我们使用http(issue4613 issue4615)
- changelog:如果不存在待处理数据,则修复readpending(issue4609)
- dirstate:修正初始化nf vs f 的顺序
- filelog:允许删失文件包含填充数据
- merge:在最后一次wlock发布后运行update hook
- pushkey:在运行pre-pushkey hook之前刷新挂起数据(issue4607)
- repoview:改进计算staticblockers perf
- revlog:_addrevision根据审查的修订版创建完全替换的增量
- revlog:将“iscensored()”添加到revlog public API
- revlog:addgroup检查传入的增量是否添加了审查的转速,设置标志位
- revlog:在addgroup中,拒绝基于删失节点的格式错误的增量
- revlog:在条带 之后将内联转换为非行工作
- revlog:扩展交换所收到的全额替换增量的特例
- subrepo:不要写带空子状态的.hgsubstate行(issue4622)
- subrepo:更新帮助文本以考虑diff -I / -X gitsubrepo support
- 标签:建立单独的共享缓存.hgtags filenodes
- 标签:更改标签缓存文件的格式
- 标签:每个过滤级别都有不同的缓存文件
- ui:在普通模式下禁用revsetaliases(BC)
- util:向copyfiles添加进度回调支持
- windows:make shellquote()引用任何包含''(issue4629) 的路径
- 扩展:
- 颜色:在Windows(BC)上设置ANSI模式更为保守
- 颜色:修复cmd.exe中的崩溃
- color:如果是非交互式的,则省略terminfo / win32警告(issue4543)
- color:当寻呼机处于活动状态时支持不同的颜色模式
- 转换:调整章鱼合并的进度条(issue4169)
- histedit:在histedit中添加--edit-plan选项
- histedit:允许hetedit - 不在后代(BC)时继续
- histedit:在hetedit期间修复防止条纹
- histedit:修复新错误消息的样式
- histedit:使用fold 改进滚动动作集成
- histedit:修复汇总提示提交邮件(issue4606)
- largefiles:克隆到远程仓库时不会崩溃
- largefiles:修复日志匹配器时不要破坏文件集
- largefiles:始终考虑updatelfiles'checked'parameter set
- largefiles:避免在overriderevert中无限递归调用openlfdirstate
- largefiles:不创建包含调用链
- largefiles:在记录 时,不要使用'.hglf'为替换模式添加前缀
- largefiles:在还原遗忘的大文件时不要发出警告
- largefiles:在overriderevert() 中提取并重用'standin'变量
- largefiles:对于更新-C,仅在必要时更新大文件
- largefiles:处理来自repo外部的日志记录
- largefiles:介绍lfutil.findstorepath()
- largefiles:覆盖cmdutil.revert()而不是comands.revert()
- largefiles:报告状态-C 中复制/移动的大文件的来源
- largefiles:在需要克隆的 后,将扩展名设置为本地启用
- largefiles:教日志处理模式
- largefiles:update _subdirlfs()comment
- largefiles:使用通用函数构建.hg_archival.txt 的内容
- largefiles:验证本地仓库时使用lfutil.findstorepath()
- largefiles:使用核心文件复制逻辑来验证目标路径
- largefiles:使用共享源作为主要本地存储(issue4471)
- mq:单个补丁不适用时避免静默失败(issue4604)
- rebase:不要将“source”参数转发给rebase(issue4633)
- rebase:在中止时恢复书签状态
- 记录:编辑新添加文件的补丁(issue4304)
- 记录:修复在子目录中添加带有记录的新文件(issue4626)
- 记录:修复记录,更改已移动的文件崩溃(issue4619)
- 搁置:以正确的顺序获得锁定
- 搁置:添加交互模式
- 搁置:添加交互模式命令行选项
- hgweb:
- hgweb:diffline上的resurrect标签,以monoblue风格修复渲染
- hgweb:使用introrev()查找父母(issue4506)
- json:实施{bookmarks}模板
- json:实现{分支}模板
- json:实现{changeset}模板
- json:实施{比较}模板
- json:实现{fileannotate}模板
- json:实现{filediff}模板
- json:实施{helptopics}模板
- json:实施{help} template
- json:实现{manifest}模板
- json:实现{shortlog}和{changelog} templates
- json:实施{tags} template
- 未排序:
- 存档:将默认前缀更改为“无”
- 存档:查找第一个可见的修订版本以构建回购标识(issue4591)
- bundle2-localpeer:错误地正确传播服务器输出(issue4594)
- bundle2-wireproto:错误地正确传播服务器输出(issue4594)
- changeset_printer:显示p1rev:带有“+”后缀的p1node for workingctx
- check-commit:对错误的错误标记的检测更加挑剔
- check-commit:检查汇总行中的大小写
- churn:弃用-t选项,转而使用-T
- crecord:修复另一个下划线
- crecord:修复orig_stdout 的下划线样式
- devel-warn:为所有消息添加前缀(“devel-warn:”)
- dirs._addpath:暴露后不要改变Python字符串(issue4589)
- dispatch:合并ParseErrors的格式
- 发送:为{file,rev}设置功能提供近编辑距离建议
- dispatch:提供类似命令的建议
- 扩展:支持另一个扩展加载后的回调
- get-with-headers:支持解析和漂亮打印JSON
- graphlog:不要绕过commands.log以便-fr工作
- graphlog:移动注释和表示转速的标记可能未排序
- graphlog:删除getgraphlogrevs()过早返回空repo
- lazymanifest:在3d485727e45e之后修复lmiter_iterentriesnext()中的内存泄漏
- lazymanifest:修复纯hg iterkeys()
- linkrev:修复工作副本注释的问题
- manifestv2:添加对阅读新清单格式的支持
- manifestv2:添加对编写新清单格式的支持
- 过时:避免在分歧中阻碍周期的无限循环(issue4126)
- record:将交互选项添加到提交命令
- 记录:允许编辑新文件(issue4304)
- record_curses:为新添加的文件修复ui bug
- revbranchcache:为缓存不可写时添加测试
- revbranchcache:移出branchmap到localrepo
- revbranchcache:逐步填充缓存
- revbranchcache:在对象上存储仓库
- revbranchcache:即使在读取操作期间写入缓存
- revrange:不要将revset别名解析为哈希前缀(issue4553)
- rollback:clear resolve state(issue4593)
- ssl:在检查Apple python可执行文件(issue4588)之前解析符号链接
- ssl:设置显式符号“!”到web.cacerts以禁用SSL验证(BC)
- strip:使用--keep(issue4593)正确清除解析状态
- subrepo:为git subrepos添加'cat'支持
- subrepo:为文件命令 添加对hgsubrepo的基本支持
- subrepo:为diffing git subrepos添加包含/排除支持
- subrepo:为git subrepos中的被忽略和清除文件添加状态支持
- subrepo:更改abstractsubrepo.init(API)的参数
- subrepos:支持在git subrepos中添加文件
- test-convert-git:用章鱼合并显示疯狂进度条(issue4169)
- test-histedit-edit.t:在hetedit期间证明qnew失败(issue4366)
- test-https:仅在使用Apple python时启用dummycert测试(issue4500)
- test-shelve:对空白更宽容(issue4124)
- 测试:添加测试显示标签缓存drop filtered heads(issue4550)
- 测试:处理已删除的.hg目录(git 2.2.0及更高版本)(issue4585)
- trydiff:仅使用前缀加入文件名
- unbundle:处理bundle2(BC)(issue4596) 时获取'wlock'
- webcommands:定义可用命令的字典
- webcommands:使用装饰器定义web命令
- 颜色:在Windows(BC)上设置ANSI模式更为保守
- commands.push:当修订评估为空集(BC) 时中止
- histedit:允许hetedit - 不在后代(BC)时继续
- log:将结束分支节点显示为“_”(BC)
- 推送:如果预期“推迟”(BC)(issue4596),获取本地'wlock'
- 解决:对-l / - list(BC) 的未知拍子的沉默警告
- ssl:设置显式符号“!”到web.cacerts以禁用SSL验证(BC)
- unbundle:处理bundle2(BC)(issue4596) 时获取'wlock'
- subrepo:更改abstractsubrepo.init(API)的参数
版本3.3.3中的新功能:
- adjustlinkrev:将'无'值设为源
- adjustlinkrev:仅为祖先准备一次源代码转换
- 修正:检查两个合并父项的目录重命名(issue4516)
- annotate:调整linkrev(issue4532) 时重用祖先上下文
- dirstate:在icasefs上添加dirs时不需要确切的大小写(issue4578)
- dirstate:确保rootdir以目录分隔符(issue4557)结束
- filemerge:在mergemarkertemplate帮助中清理语言
- 忘记:清除icasefs 上不精确的大小写匹配的输出
- hgweb:阻止从指定路径以外的目录加载样式映射
- mergecopies:遍历文件历史记录时重用祖先上下文(issue4537)
- templates:修复默认样式的“log -q”输出
- templates:修复阶段样式的“log -q”输出
- win32:'raise ctypes.WinError' - > 'raise ctypes.WinError()'
版本3.3中的新功能:
- 命令:
- 添加:即使不完全匹配(BC) ,也会添加忘记的文件
- addremove:添加回忘记的文件(BC)
- addremove:添加对-S标志的支持
- addremove:使用-I / -X(BC) 调用时打印相对路径
- addremove:在子目录中支持带有显式路径的addremove
- 退出:添加--commit选项
- commit:如果指定了--addremove,则中止,但失败
- commit:当不在父级(issue4476) 时删除反向搜索复制源
- commit:如果指定了-S,则传播--addremove到subrepos(issue3759)
- graft:在移植时显示更多有用的状态信息
- 核心:
- bundles:不要覆盖现有的备份包(BC)
- osx:pkg包中的补丁.pax.gz文件,以便以root身份提取(issue4081)
- revset:处理头部缺失文件的隐藏linkrev(issue4490)
- revset:允许rev(-1)表示空修订(BC)
- revset:修复祖先(null)以包含空修订(issue4512)
- subrepo:当非hg subrepos存在时不要中止(issue4513)
- cmdserver:像其他命令一样使用给定的流作为管道通道
- 扩展:仅检查主要和次要版本(BC)的兼容性
- https:支持https网址(issue3090)的tls sni(服务器名称指示)
- 忽略:解析相对于repo root的忽略文件(issue4473)(BC)
- linkrev:处理没有可见子项的已过滤的linkrev(issue4307)
- linkrev:在bootstrapping annotate(issue4305) 时调整linkrev
- linkrev:调整linrev时使用正确的清单内容(issue4499)
- memctx:使用新删除的文件正确计算清单(issue4470)
- memctx:修复已删除文件的清单(issue4470)
- obsstore:在初始化期间禁用垃圾回收(issue4456)
- subrepo:支持使用subrepos中的显式路径删除
- subrepo:为git subrepos添加完整的恢复支持
- subrepo:为git subrepos添加部分差异支持
- subrepo:为git subrepos中的被忽略文件添加状态支持
- win32:从Inno Setup安装程序中删除Mercurial.ini文件(issue4435)
- hgweb:
- hgweb:允许查看针对p1或p2的差异以进行合并提交(issue3904)
- 扩展:
- color:添加对git subrepo diffs着色的支持
- color:在_effects 中添加缺少的'dim'
- 转换:在svn失败时,请注意libsvn版本(issue4043)
- convert:替换消息中的修订引用(如果它们是> =短哈希 )
- convert:处理mercurial_source.lookuprev() 中的LookupError
- extdiff:重新引入与手动引用参数的向后兼容性
- histedit:添加测试以显示issue4251已修复(issue4251)
- largefiles:修复没有大文件更改的目录的提交(issue4330)
- largefiles:使用'default'路径来提取大文件,而不是'default-push'
- largefiles:启用subrepo支持添加,忘记,删除
- largefiles:显示在外发更改集中检查替换哈希时的进度
- mq:更简单的处理普通标题
- patchbomb:不尊重空格和格式改变diffopts(BC)
- rebase:在重新定位时显示更多有用的状态信息
- rebase:确保rebase修订仍然可见(issue4504)
- extdiff:避免外部工具的意外引用参数(issue4463)
- 突出显示:忽略Unicode的额外换行符(issue4291)
- 记录:不尊重格式更改diffopts(issue4459)
- 分享:添加共享书签的选项
- 移植:正确跳过空变更集(issue4423)
版本3.2.4中的新功能:
- demandimport:blacklist distutils.msvc9compiler(issue4475)
- largefiles:backout f72d73937853 - 线性更新处理m - >一个不同的
- largefiles:使用'remove -A'(issue4053) 修复虚假的丢失文件警告
- largefiles:使用forget(issue4053) 修复虚假的丢失文件警告
- largefiles:介绍'composelargefilematcher()'方法
- largefiles:标记lfile,添加了替换时在lfdirstate中添加
- sshpeer:更彻底的shell引用
版本3.2.3中的新功能:
- context:停止为已修改或添加的节点设置“无”
- darwin:当normcase()文件路径 时,省略可忽略的代码点
- 编码:添加hfsignoreclean以清除HFS忽略的字符
- largefiles:实际上并没有在addremove干运行中删除大文件
- log:fix log -f实际遵循历史记录的慢速路径
- log:fix log revset instability
- manifest:禁止将条目的节点ID设置为无
- pathauditor:检查Windows短名称别名
- pathauditor:检查OS X上忽略的代码点
- rebase:更新回原始wc parent 时忽略负面状态
- 更新:为未跟踪的本地文件添加测试
- 更新:不要覆盖更新 上未跟踪的忽略文件
版本3.2.2中的新功能:
- changegroup:在重新排序期间修复文件linkrevs(issue4462)
- hgweb:在未捕获的异常后发送正确的HTTP响应
- largefiles:避免在不知道它的平台上进行执行检查
- largefiles:如果一方未更改,则不显示largefile / normal提示
- 清单:修复工作副本文件“添加”标记错误的错误
- 合并:准确地说明合并为什么简称desc
- merge:在cd / dc提示符之前,检查更改的一方是否真的改变了
- mq:修复以“错误”顺序发生的标头更新
- mq:介绍insertplainheader - 与之前相同的天真实现
- mq:在普通模式下添加标题时,将它们与消息(issue4453) 分开
- mq:在普通模式下设置消息时,将其与标题(issue4453) 分开
- push:停止在syncphase中独立使用bundle2(issue4454)
- pushkey:正常处理prepushkey hook失败(issue4455)
- 重命名:正确报告已删除并添加了已修改的文件(issue4458)
- 还原:查找所有本地修改的副本信息
- revset:为generatorset修复第一个和最后一个(issue4465)
- 模板:修复损坏的“少”&纸张样式中的“更多”链接(issue4460)
版本3.2.1中的新功能:
- 书签:修复交换消息的格式(issue4439)
- changegroup:不在fnodes上存储未使用的值(issue4443)
- 转换:使用git diff-tree -Cn%代替--find-copies = n%for old git
- 发现:sample和yesno之间的索引必须匹配(issue4438)
- 发现:将'所有远程已知的本地头'限制为真正的'所有'(issue4438)
- extdiff:引用传递给shell的用户提供的选项
- hgweb:使用web.archivesubrepos修复崩溃
- mail:实际使用的是verifycert配置值
- rebase:修复没有共同祖先的rebase(issue4446)
- serve:--daemon-pipefds选项的正确元变量
- templater:不要覆盖runsymbol()中的关键字映射(issue4362)
评论没有发现