Mercurial

✍ dations ◷ 2025-04-12 10:05:28 #版本控制系统,自由跨平台软件,用C编程的自由软件,用Python编程的自由软件

Mercurial是跨平台的分布式版本控制软件,主要由Python语言实现,但也包含用C语言实现的二进制比较工具。Mercurial一开始的主要运行平台是Linux,现在Mercurial已经移植到Windows、Mac OS X和大多数的类Unix系统中。Mercurial主要由命令行程序组成,现在也有了图形用户界面。对Mercurial的所有操作都由用不同的关键字作为参数调用程序“hg”来实现,Hg是参考水银的化学符号而取的名字。

Mercurial的主要设计目标包括高性能、可扩展性、分散性、完全分布式合作开发、能同时高效地处理纯文本和二进制文件,以及分支和合并功能,以此同时保持系统的简洁性。Mercurial也包括一个集成的Web界面。

Mercurial的创建者和主要开发人员是Matt Mackal。其源代码采用GNU通用公共许可证第二版为授权,确保了Mercurial是一个自由软件。

Mercurial采用SHA-1散列算法来识别修订版本。Mercurial使用一个基于HTTP的协议来接入网络中的版本库,旨在减少往返的提交、连接数和数据传输。Mercurial也可以工作在ssh环境下,其协议和基于HTTP的协议非常相似。

Bryan O'Sullivan已写作了一个全面的参考手册:。该手册根据开放出版许可协议免费提供。

Mackall在2005年4月19日第一次发布了Mercurial。其动机是当月Bitmover公司宣布撤销其免费版本的BitKeeper。

2005年时BitKeeper已经被用于Linux内核的项目版本控制。Mackall决定为Linux内核开发写一个分布式的版本控制软件来替代BitKeeper。在该项目启动数天前,Linus Torvalds基于类似的目的开始了另一个现在相当知名的版本控制软件Git。

Linux内核开发项目决定使用Git而不是Mercurial,但Mercurial也使用于在很多其他的项目中(见下文)。

以下网站提供免费的Mercurial版本库托管:

这些项目(部分)使用了Mercurial作为版本控制

相关

  • 米-26直升机米-26直升机(俄语:Ми-26)是一款多用途重型直升飞机,也是当今服役中最重、最大的直升机,由苏联米尔莫斯科直升机工厂(原米尔实验设计局)设计。该机的机舱载重和舱外负重均可达20吨
  • 叶赫那拉氏叶赫那拉氏(满语:ᠶᡝᡥᡝ ᠨᠠᡵᠠ ᡥᠠᠯᠠ,转写:)是满洲著姓那拉氏的主要分支之一,为海西女真叶赫贝勒的家族姓氏,其始祖为蒙古人星根达尔汉(满语:ᠰᡳᠩᡤᡝᠨ ᡩᠠᡵᡥᠠᠨ,穆麟
  • 蔚山城之战釜山镇 – 多大浦 – 东莱城 – 尚州 – 忠州弹琴台 – 玉浦 – 泗川 – 临津江 – 唐浦 – 唐项浦 – 闲山岛 – 龙仁 – 梨峙 – 平壤 – 釜山浦 – 北关
  • 仙人掌属参见正文参见正文仙人掌属目前分类只包括约200种圆柱状仙人掌被单独分为一个圆柱仙人掌属(),其他圆筒状仙人掌如以前分在属、属和中的种类都包括在本属中。仙人掌属植物一般具
  • 巴风特巴风特(英语:Baphomet,或译巴弗灭)是有名的基督宗教恶魔之一,是现今为人所熟知的羊头恶魔,也是撒旦的代名词。这个名字的起源尚无定论,它最早出现于12世纪晚期一首与穆罕默德有关的
  • 北野宪造北野 宪造(日语:きたの けんぞう、1889年(明治22年)8月24日 - 1960年(昭和35年)7月25日)为日本陆军军人。最终阶级为陆军中将。滋贺县出身。税务署长・北野本次郎之子。彦根中学校
  • iPod touch (第五代)第五代iPod touch(其正式名称仅为iPod touch,而iPod touch 5或iTouch 5为俗称)是苹果公司设计的第五代便携式多媒体播放器,属于 iPod 系列。它使用与 iPhone 5 一样的 4 吋 Reti
  • 艾晓琪艾晓琪(1992年3月20日-,出生于安徽芜湖,中国内地女演员,毕业于上海戏剧学院附属戏曲学校。
  • 史蒂芬·阿皮亚史蒂芬·阿皮亚(// ,1980年12月24日-)是加纳前足球运动员,司职中场。阿皮亚是加纳国家队前成员,也是加纳国家队2006年第一次参加世界杯决赛圈时的队长和2010年世界杯加纳国家队的
  • 伊夫·梅耶尔伊夫·梅耶尔 (法语:Yves F. Meyer,1939年7月19日-),法国数学家,小波分析理论的创始人。 伊夫·梅耶尔曾在突尼斯市学习数学, 1957年以第一名成绩考入巴黎高等师范学校。 1966年在Je