写点什么

Mercurial 2.0 携 Largefile 插件发布

  • 2011-11-18
  • 本文字数:1011 字

    阅读完需:约 3 分钟

Selenic 发布了 Mercurial 2.0 ,这是他们三个月来对该 DVCS 工具的常规升级。

本次发布带来了 Largefile 插件——一种将集中式数据存储带入迥异的分布式版本管理系统的方式。鉴于 Mercurial 的 Revlog 存储机制并不能很好地契合二进制大文件的存储,Largefile 插件提供了一个集中式存储,二进制大文件可以从那里按需下载。

如果二进制大文件经常会被更新,那么在任何 DVCS 中存储它们,都可能会出现问题;甚至即便二进制文件可以通过增量压缩(比如,仅仅存储变更的部分)来存储,大文件也会很快地使资源库膨胀起来。此外,假如这些资源已经成为了资源库历史的一部分,它们无法在不影响内容哈希值的情况下从资源库中精简掉(prune),因此也就无法修改资源库的版本。

取决于使用的版本管理系统的不同而不同,是否将大资源文件存放在不同的分支(比如,不经常获取[fetch]的分支)会影响到复制出的资源库(而不是源资源库)。Mercurial 的 Largefile 插件使用了不同的方法,在复制出的资源库中提供了(从效果上)指向大文件的符号链接。

当前检出[checkout]的版本并没有必要包含这些大文件,它们并不会随着复制[clone]或者获取[fetch]/推送[push]的操作而下载。但是,如果检出某个包含了一个或者多个这样大文件链接的版本,Mercurial 会打开一个单独的链接以从集中式存储服务器下载内容。很明显,这意味着为了检出资源库的某些版本,Mecurial 需要能够连接到集中式存储服务器,但是本地的 Mercurial 复本将会保持上次下载的大文件的缓存,而且假如它们已经被下载,就可以不用再去从服务器获取。

hg add命令有了一个新选项--large,允许指定文件为大文件(因此把该文件存入“集中式的、但是缓存的、按需下载的”存储)。或者,可以设置一个确切的文件大小(默认是大于 10Mb)或者使用命名模式(比如,*.zip)来自动标记大文件。注意,资源库格式必须通过hg lfconvert命令升级,以利用新格式的优势。同时注意,追踪大文件状态的dirstate命令,在 Mercurial 2.0 中目前是被限制在 2Gb 以内,但有希望在 2.0 发布之后会发布补丁。

Mercurial 2.0 同时也带来了 graft 命 令——给 Mercurial 实现了 cherry pick 功能。它使用了合并[merge]的机理以判断哪些修改应该被呈现,然后再将它们零碎地移植过来,而不创建一个新的合并节点。与其他的 cherry-pick 实现一样,如果代码修改已经被复制过来,它将不会被重复复制。

查看英文原文 Mercurial 2.0 Released with LargeFiles extension

2011-11-18 08:201572
用户头像

发布了 76 篇内容, 共 27.6 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

ixBrowser指纹浏览器配置教程

kookeey代理严选

代理IP 跨境电商 亚马逊运营 Tiktok shop 指纹浏览器

2025大厂年终奖揭秘:有人拿50个月工资,有人直接撒钱?

王中阳Go

程序员

锂电池MES系统:全面优化生产流程,提升质量与效率

万界星空科技

制造业 mes 锂电池 新能源电池 锂电池mes

多种路径规划方案,满足应用个性化导航需求

HarmonyOS SDK

harmoyos

初探集群联邦

天翼云开发者社区

云计算 集群

Firefox 135, Chrome 135, Chromium 135 官网离线下载 (macOS, Linux, Windows)

sysin

firefox

Gitea Enterprise 23.0.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务

sysin

git Gitea

疯狂SQL转换系列- SQL for Milvs2.4

数由科技

sql 数据科学 huggingfists graphRAG Milvus 2.5

GaussDB高级压缩,破解业务数据激增难题

华为云开发者联盟

MySQL 数据库 GaussDB 数据压缩

信创算力关键年的三个趋势与最佳选择

脑极体

信创

唯品会商品详情接口(唯品会 API 系列)

tbapi

唯品会商品数据采集 唯品会API 唯品会商品详情接口

火语言RPA--图鉴打码

火语言RPA

我们究竟畏惧AI什么?

这不科技

AI

数字先锋 | 竞技科研蓝海,中南大学先“算”一步!

天翼云开发者社区

云计算 智算平台 算力建设

企业在财务规划过程中,如何避免零基预算的常见陷阱

智达方通

全面预算管理 财务规划和分析 财务规划

面向 Workload 级别的灵活可配置 Serverless 弹性解决方案

阿里巴巴云原生

阿里云 Serverless 云原生

低代码开发是传统开发的替代,还是补充?

秃头小帅oi

数字先锋 | 车企,出海!天翼云AOne擦亮车企“智慧服务”新名片!

天翼云开发者社区

云计算 公有云 边缘安全 安全防护

1688APP 原数据 API 接口的开发、应用与收益

科普小能手

数据挖掘 阿里巴巴 1688 电信运营商 API 接口

利用ima.copilot,打造你的AI知识库

老张

人工智能 知识库 DeepSeek ima.copilot

音乐 NFT 系统的上线

北京木奇移动技术有限公司

软件外包公司 音乐NFT 体育NFT

VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 1.21 - 运营商 Kubernetes 解决方案

sysin

Kubernetes Tanzu

AI招聘助手的主要功能

北京木奇移动技术有限公司

AI技术 AI招聘 软件外包公司

Mercurial 2.0携Largefile插件发布_语言 & 开发_Alex Blewitt_InfoQ精选文章