Mercurial diff 在移动/重命名后不起作用

2024-03-25

将文件移动到另一个目录后,我无法再显示两个修订版之间的差异。例如。:

hg init

touch a
hg add a
hg ci -m "Added a"

echo "Bli" >> a
hg ci -m "Bli"
echo "Bla" >> a
hg ci -m "Bla"
echo "Blub" >> a
hg ci -m "Blub"

hg diff -r 0 -r 1 a

结果是:

diff -r 8603b08f5a64 -r 16675581549e a
--- a/a Mon Apr 23 09:03:25 2012 +0000
+++ b/a Mon Apr 23 09:03:25 2012 +0000
@@ -0,0 +1,1 @@
+Bli

这正是我所期望的。但是,当我现在将文件“a”移动到目录“b”时:

mkdir b
hg mv a b/a
hg ci -m "Moved a into b"
cd b
hg diff -r 0 -r 1 a

这不会产生任何结果(根本没有输出)。我还尝试使用 git Giff 算法:

hg diff --git -r 0 -r 1 a

同样,根本没有任何输出。日志看起来没问题:

hg log --follow a

结果是:

changeset:   4:cb8185829bfd
tag:         tip
user:        XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date:        Mon Apr 23 09:08:12 2012 +0000
summary:     Moved a into b

changeset:   3:4d1ba89885c3
user:        XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date:        Mon Apr 23 09:03:26 2012 +0000
summary:     Blub

changeset:   2:e9126dbb50b2
user:        XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date:        Mon Apr 23 09:03:26 2012 +0000
summary:     Bla

changeset:   1:16675581549e
user:        XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date:        Mon Apr 23 09:03:25 2012 +0000
summary:     Bli

changeset:   0:8603b08f5a64
user:        XXXXXXXXXXXXXXXXXXXXXXXXXXXX
date:        Mon Apr 23 09:03:25 2012 +0000
summary:     Added a

有人知道为什么移动文件后 diff 不起作用吗?非常感谢您的帮助。


对于今天的 Mercurial 来说,这是很困难或不可能的。我认为你能得到的最接近的是

hg log --follow --patch -r 1 a

Mercurial 将向后跟踪副本(--follow) 在显示差异之前 (--patch).

一般来说,Mercurial 不跟踪文件身份,它只跟踪文件名。当您按修订版号查找信息时,Mercurial 将首先查找修订版,然后查找该修订版中的所有文件名。所以hg cat -r 0 a会给你相同的结果

hg update -r 0
cat a

即,结果独立于当前工作目录父级。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mercurial diff 在移动/重命名后不起作用 的相关文章

  • 用于版本控制系统的历史可视化工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 具体来说 我正在寻找一种东西 只要给定一个文件和一个 SVN 历史记录 就能将插入和删除显示为漂亮的动
  • GitLab 是否通过 git-annex 或其他方式支持大文件?

    我运行一个 GitLab 实例 并希望允许我的用户上传几乎任何大小的文件 众所周知 git 在处理大文件方面仍然存在问题 我知道通过将文件存储在其他地方并仅对元数据进行版本控制来规避此问题的方法 例如git annex git media
  • Visual Studio 2010 中的源代码控制?

    在对 SO Google 和 MSDN 论坛进行了一些搜索之后 我感到很沮丧 因为对于一个看似显而易见的问题 甚至可能是一个愚蠢的问题 信息太少 我需要在 Visual Studio 2010 Professional 中使用源代码管理 我
  • 从另一个分支或从 master 创建 Git 分支?

    所以我是 Git 新手 我最近从存储库中提取了主分支的新版本 我创建了一个branch 1 获取某个功能并将其推送到存储库并创建拉取请求 现在我创建了一个新的branch 2 具有另一个功能 但由于我的拉取请求尚未合并 再次拉取 maste
  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • git svn 工作流程 - 功能分支和合并

    我现在使用 git svn 和以下工作流程 git clone
  • Mercurial 颜色扩展的有效颜色是什么?

    水星的color 扩大 http mercurial selenic com wiki ColorExtension很棒 但是该页面上没有有效颜色的列表 我寻找了一个名为 color 的 python 文件 希望能够阅读源代码并在那里看到它
  • 如何从 Emacs 中检出 Perforce 下的文件?

    我在工作中使用 Perforce 进行源代码控制 并且希望从 Emacs 中 打开以进行编辑 源代码控制下的文件 那怎么办呢 我需要在 Emacs 中设置什么 有插件吗 我还想执行其他 p4 操作 例如提交我的更改等 Perforce Em
  • 如何从现有 git 存储库中的文件夹创建新的 git 存储库?

    我想在现有 git 存储库下的文件夹中创建一个新的 git 存储库 我希望将历史记录保留在新存储库中 如何创建这个新的 git 存储库 您可以克隆它 然后在克隆上应用过滤器分支 以便拆分该存储库 仅提取所需的目录 及其完整历史记录 See
  • Delphi TImageList 位图更改

    我正在使用 Delphi XE2 Update 3 Update 4 与我们的一些第 3 方组件不兼容 因此我们尚未更新 我在我的应用程序中使用 TImageList 我注意到很多时候当它从源视图切换到表单视图 F12 时 突然之前未修改的
  • Mercurial on Phabricator:“远程:中止:流意外结束”

    我在尝试推送到远程服务器时遇到此问题 它是 Phabricator 上的 Mercurial 存储库 这是我的输出 hg commit m udpate README hg push pushing to ssh company serve
  • 如何将 git 存储库中的现有目录设为 git 子模块

    我对 git submodules 很困惑 基本上我的问题是我无法让 git 理解这一点 main project submodule是一个子模块 我对 git 子模块有很好的经验 in my 点文件存储库 https github com
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 提交项目时我应该包含 .project 和 .classpath 吗?

    当我将 Web 应用程序提交到源代码管理时 我还应该包含 project 和 classpath 文件吗 我不认为这应该有任何区别 因为使用该项目的其他用户应该具有相同的项目设置 这种问题会让人们在一场永无休止的辩论中陷入困境 你基本上有两
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • 如何使用 Visual Studio (vsdiffmerge) 作为 SourceTree for Mercurial 中的外部 diff 工具?

    我使用 Mercurial 作为源代码管理 并使用 SourceTree 来管理它 我想使用 Visual Studio 的内置差异和合并工具 vsdiffmerge 来比较文件 但这不起作用 我目前正在使用以下内容 差异命令 C Prog
  • 如何将普通的 Git 存储库转换为裸存储库?

    如何将 普通 Git 存储库转换为裸存储库 主要区别似乎是 在普通的 Git 存储库中 你有一个 git存储库内的文件夹 包含构成工作副本的所有相关数据和所有其他文件 在裸露的 Git 存储库中 没有工作副本和文件夹 我们称之为repo g
  • git checkout 到分支需要很长时间

    我使用的是 Ubuntu 17 10 并且使用 git 版本 2 14 1 每当我从 master 创建一个分支并尝试签出它 或从它签出到 master 时 都会花费大量时间 大约几分钟 有时接近 10 分钟 确实 我有几 GB 的数据 但
  • Oracle:如何确定“AFTER ALTER”触发器中对象的新名称?

    假设我有一个AFTER ALTER在我的 Oracle 数据库上触发并重命名一些数据库对象 ALTER RENAME TO 在触发器中 我如何确定new数据库对象的名称 看来ORA DICT OBJ OWNER ORA DICT OBJ N
  • 是否可以从本地文件系统获取TFS更改集编号?

    我有一个解决方案的本地副本 与TFS绑定 是否可以在不调用服务器的情况下从本地文件系统获取当前更改集信息 如果您可以在 assembly AssemblyFileVersion 1 0 0 RevisionNumber 您可以在那里设置更改

随机推荐

  • 在函数中使用设置间隔和获取

    创建一个函数startShowingMessage它有两个参数 一个元素和一个 URL 字符串 该函数将使用setInterval每 1 秒执行以下任务 获取 URL 并将响应文本放入所提供元素的文本内容中 我制作了该函数并且获取有效 但我
  • HTML5 使用什么视频格式以及为什么它与 iPad 上的 Safari 兼容

    HTML5支持哪些视频格式与iPhone iPad兼容 我正在考虑建立一个带有一些教学视频的网站 但现在我很困惑 因为我认为 Apple 移动设备仅支持 Quicktime 它使用 H 264 尽管 HTML5 规范并未将其描述为必须使用
  • 使用 SQLalchemy 读取大文件

    我正在尝试使用 SQLalchemy 读取 200 MB 的 csv 文件 每行大约有 30 列 其中 我使用下面的代码仅使用 8 列 然而 代码运行速度非常慢 有没有办法改善这一点 我想使用地图 列表理解或其他技术 正如你所说 我是一个新
  • 使用 Linq 从 xml 文件读取值

    我在从 xml 文件读取值时遇到问题 这是 xml 文件
  • 如何在此数据上使用 PIVOT:?

    我有一个 SQL Server 表 如下所示 RESOURCE DESCRIPTION VALUE Test A Name Resource A xyz Test A Height 20 Test A Unit ft Test A Loca
  • IntelliJ 15 运行缓慢并占用 1GB 内存

    我刚刚安装了intelliJ IDEA 15但它有点滞后并且使用大量内存 有时 我的 4GB RAM 笔记本电脑上的内存会超过 1GB 以前的版本是intelliJ性能更好 我怎样才能让它更快 我遇到的另一个问题是自动完成和更正 这两个设置
  • RQ - 清空和删除队列

    我在用着RQ http python rq org 我有一个failed排队有数千件物品 还有另一个test我不久前创建的用于测试的队列现在是空的且未使用 我想知道如何删除所有作业failed排队 然后删除test完全排队吗 对于基本问题表
  • 以阻塞程序语言的方式进行异步?

    Sync way 例如 红宝石 con Mysql new localhost rs1 con query select from test01 A rs2 con query select from test02 B rs getResu
  • 适用于 Visual Studio 2013 的 System.Data.SQlite

    System Data SQLite 的当前发行版无法与 Visual Studio 2013 一起使用 除非您部署 VS2012 Update3 发行包 大概 或仅安装 像我一样在测试机器上 完整版本 有谁知道 System Data S
  • jquery如何比较两个日期

    第一个使用 id 的有格式 var checkindate check in text 28 07 2011 然后我使用当前日期 var now new Date 它的格式是 Wed Jul 20 2011 19 09 46 GMT 053
  • 在 MathLink 函数中检查中止?

    我刚刚发现这样的MathLink功能为LinkWrite and LinkRead有类似其内部的东西CheckAbort吸收任何中止 并且不会进一步传播它们 这可以很容易地显示为LinkRead link LinkLaunch First
  • 返回由 n 个随机数组成的整数 ArrayList?

    如何创建 RandomArray 方法并让它接受整数 n 并返回由 0 到 255 之间的 n 个随机数组成的整数 ArrayList 换句话说 让返回的数组的大小为 n 我使用的是Java Eclipse 我已经创建了 RandomArr
  • Awesome WM:标题栏的图标是什么意思?

    谁能告诉我标题栏中的图标是什么意思 火箭 加号 明星 我很好奇 查看图标的文件名 第一个组件描述了含义 https github com awesomeWM awesome tree master themes default titleb
  • 多处理池内进程超时

    当我使用以下代码时 池结果总是返回超时 我在做的事情在逻辑上是否不正确 from multiprocessing import Pool Process cpu count def add num return num 1 def add
  • 使用 Tkinter 显示图像

    我正在开发一个使用 Tkinter 和 ImageTk 显示一系列图像的 python 程序 我无法显示多个图像 下面是一个重现该错误的完整小程序 程序直接递归地搜索当前的 jpg 文件 并在用户按 Enter 时显示它们 import T
  • 退出 iPhone 应用程序的按钮是否违反 Apple 的准则? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想在我的 iPhone 应用程序中创建一个按钮来退出该应用程序 使用exit 0 按下时 这会违反苹果的人机界面指南吗 Apple 不鼓
  • 是否可以将小黄瓜步骤写在多行上?

    我是小黄瓜语言的新手 在我看来这似乎是非常基本的问题 但我找不到答案 我知道可以在 Gherkin 中编写多行步骤参数 如下所示 Given a blog post named Random with Markdown body Some
  • 如何在文档数据库(NoSQL)中设计基本模式?

    我有一个问题如何验证文档中的基本 JSON 字段 我的意思是假设一个字段是否需要 我的意思是基本上字段验证 我知道文档数据库是无模式的 NOSQL 但在 Mongodb 中 有一个选项 这就是我问的原因 例如 在 Mongodb 中 我们有
  • 如何在 C++ 中重载一元减运算符? [复制]

    这个问题在这里已经有答案了 我正在实现向量类 我需要得到一些向量的反面 是否可以使用运算符重载来定义此方法 这就是我的意思 Vector2f vector1 vector2 这是我希望该操作员完成的任务 Vector2f oppositeV
  • Mercurial diff 在移动/重命名后不起作用

    将文件移动到另一个目录后 我无法再显示两个修订版之间的差异 例如 hg init touch a hg add a hg ci m Added a echo Bli gt gt a hg ci m Bli echo Bla gt gt a