问题标签 [tortoisehg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10574 浏览

mercurial - 使用 Mercurial/TortoiseHg 处理嵌套 Hg 存储库的正确方法是什么?

我正在努力解决如何使用 TortoiseHg 正确跟踪嵌套存储库。

我有一个主要的存储库来跟踪我的整个项目。这个项目包含几个小插件,它们存储在 plugins/ 子目录中。

我很想独立跟踪每个插件(为每个插件提交并推送到 BitBucket),同时仍然能够对我的项目进行“整体”提交,包括对插件所做的更改并将其推送到其他位置(不是比特桶)。

到目前为止,我所做的是为我的每个插件创建一个新的 repo。我可以轻松地将它们提交并推送到 BitBucket。但是当我去提交我的“主”存储库时,TortoiseHg 会显示一条错误消息,说明abort: path 'mainrepo\\plugins\\plugin1\\plugin1.php' is inside repo 'mainrepo\\plugins\\plugin1'.

我可以看到我做错了什么,但我不知道是什么。

我在 WinXP 上每晚使用 Mercurial 和 TortoiseHg(ToirtoiseHg 版本 0.9.3+237-ea50f793bbe4 和 Mercurial-1.4.3+225-70dea42c9406)。我读到 subrepos 处理已添加到这个 TortoiseHg 构建中,但是,我什至不确定 subrepos 是我应该在这里使用的功能。

更新
我已经取得了一些进展,但仍然无法按照我想要的方式工作。
这是我的结构:

我去了应用程序/插件,并在这里从 BitBucket 克隆了一个插件(名为 plugin3)。然后,我在根目录创建了一个 .hgsub 文件并将其添加app/plugins/plugin3 = app/plugins/plugin3到其中。然后我能够提交我的整个目录。

但是后来我试图从 BitBucket 中获取最新版本的 plugin1,所以我去了 app/plugins,删除了 plugin1/ 文件夹并从 BitBucket 中克隆了 plugin1。然后我添加app/plugins/plugin1 = app/plugins/plugin1到 .hgsub 但是当我尝试提交它时,我受到了欢迎abort: path 'app/plugins/plugin1/file1.php' is inside repo 'app\\plugins\\plugin1'

当我的 subrepo 与 plugins/ 目录中 Hg 已跟踪的目录具有相同的名称时,问题似乎触发了。

我究竟做错了什么 ?我应该在插件的 .hg 中添加/编辑一些特别的东西吗?

更新
我终于设法让它以我想要的方式工作。
我必须“手动”告诉 Mercurial 删除 plugins/plugin1、plugins/plugin2 目录,提交更改,然后从 BitBucket 克隆回 plugin1 和 plugin2,添加app/plugins/plugin1 = app/plugins/plugin1到 .hgsub 并提交所有内容。有效。
重要的一步是在删除 plugin1/plugin2 文件夹后提交。

0 投票
3 回答
984 浏览

mercurial - Mercurial 中不区分大小写的差异

我正在使用 Mercurial(特别是 Windows 上的 TortoiseHg)对 VBA 代码进行版本控制。任何尝试过这个的人都知道,只要在项目中的任何地方更改了该变量的任何声明(无论范围如何),VBA 都会更改整个项目中每个变量的大小写。它使版本控制成为一场噩梦。

我想在执行 diffs 时忽略源代码中的大小写更改。最简单的方法是什么?(我缺少的 diff 选项,外部 diff 实用程序,还有别的吗?)

注意:我不是在谈论处理“不区分大小写的文件名”(是的,我在和你说话谷歌......)

0 投票
1 回答
386 浏览

mercurial - 有没有办法让 Tortoisehg 存储库浏览器从命令提示符开始?

有没有办法让 Tortoisehg 存储库浏览器从命令提示符开始?

0 投票
1 回答
4589 浏览

windows - 使用 TortoiseHg 的存储库浏览器

我来自 TortoiseSVN 背景并决定尝试一下 TortoiseHg。我真正习惯使用 TortoiseSVN 的一件事是 SVN Repo-Explorer,它的工作方式与 Windows Explorer 非常相似。然而,当我尝试使用 TortoiseHg 的 Repository Explorer 时,我得到的是其他东西,它更像是 TortoiseSVN 的 Show Log。它向我展示了最近的提交以及更改了哪些文件,甚至还有漂亮的图表。但是,我仍然需要 TortoiseSVN 的 Repo-Explorer。

TortoiseHg 有这样的东西吗?如果我只能查看更改的内容,我应该如何浏览存储库?

0 投票
1 回答
845 浏览

permissions - 使用 Mercurial/Tortoisehg 是否可以设置存储库权限?

我正在尝试使用 Mercurial/Tortoisehg 设置存储库权限。我想做的是让 1 人成为管理员,并且只允许该人提交/推送/拉入存储库。如果其他人想要将更改放入存储库,则必须向该人发送补丁。

感谢您的帮助,大都会

0 投票
3 回答
2258 浏览

mercurial - TortoiseHg 更新失败并显示“访问被拒绝”,如何解决这个问题?

我已经从远程存储库中对只读文件进行了一些更改,并且我正在尝试更新我的工作区域,但是[Errno 13] ... Access is denied当 TortoiseHg 尝试更新只读文件时出现错误。

我想知道在 TortoiseHg GUI 中是否有可以解决此问题的命令、选项或设置。我似乎也无法从命令行更新只读文件,所以我也对命令行解决方案感兴趣。

0 投票
3 回答
2116 浏览

mercurial - 向 TortoiseHg 添加钩子

我正在使用 TortoiseHg 并想在我的 repo 中应用一个钩子。我的 repo 的 .hg/hgrc 文件如下:

问题是我不知道 TortoiseHg 的 PYTHONPATH 变量设置在哪里。我该如何改变它?或者我应该把我的 Python 文件放在哪里,以便 TortoiseHg 的 Python 解释器可以看到它?

我在 TortoiseHg 的文档中或通过 Google 找不到任何关于钩子的提及?

0 投票
5 回答
9134 浏览

mercurial - tortoisehg 和 subrepos

我无法让 Tortoisehg (1.0) 与 subrepos 一起工作

我有一个这样的目录结构:

根目录下的 .hgsub 文件看起来像

如果修改文件Customer1\Project1\foo.txt并从根目录提交,它可以工作

在 Tortoisehgcustomer1\project1中显示状态S(subrepo),但是在提交时我收到一条消息

不支持这种情况还是我做错了什么?

文档说:
“TortoiseHg 1.0 引入了对子存储库的基本支持,并且仅在提交/状态工具中。当 Mercurial 认为子存储库是脏的时,它将作为文件列表中的特殊条目出现在提交工具中,状态为 S . 如果子存储库包含在提交的文件列表中,则子存储库将与其他更改一起提交,更新主存储库根中的 .hgsubstate 文件。

0 投票
2 回答
147 浏览

mercurial - mercurial 使用名为 ---.config 的文件失败 - 有什么办法吗?

由于越来越多的噩梦合并以及我们最近在 SVN 上遇到的各种其他问题,我们才刚刚开始学习和评估 Mercurial。

客户希望我们下载他们网站的实时副本,对其进行一些 SEO 工作,然后将其推回给他们。他们根本没有源代码控制。我认为这是一个与 Mercurial 合作的好项目。与其将它放入我们的 SVN 并在完成后导出,我们将使用 Mercurial ......但马上我似乎遇到了一些问题 :)

他们有一个名为的文件---.config,这似乎导致我们的 Mercurial 出错。它只是无法提交该文件。我已经创建了 repo 并提交了其他所有内容,但我无法提交这个文件。

我们在带有 TortoiseHG 1.0 的 Windows 2008 x64 上运行。

我想我可以忽略该文件,因为我们不太可能需要使用它,但仍然 - 我想学习如何更好地使用 Mercurial。有没有解决的办法?

编辑:这是错误消息:

当我在选择该文件的情况下点击 TortoiseHG 中的“提交”按钮时会发生这种情况。

0 投票
1 回答
1935 浏览

mercurial - How to get hardlink cloning on Windows

I've got a Win7 x64 box running Tortoise 1.0 x64 release. About Tortoise reveals that it's 1.0 "with Mercurial-1.5, Python-2.6.4, PyGTK-2.16.0, GTK-2.18.7". I've also got ActivePython 2.6 and Mercurial 1.5 x64 installed (installed via the Mercurial installer from the 64-bit installer. Neither one clone with Hard Links on my windows box. The drives on my box are also NTFS, which supports hard links.

In deed, when I run the python interpreter and execute a hard link creation via the win32file api, it creates a link successfully:

However, if I use Mercurial to clone, I don't get the same results:

Does anyone have cloning working on Windows with hardlinks being used or is it not supported? I noticed that the TortoiseHg installer comes with a Python 2.6 installation. Also noticed that it has it's own Hg executable (which I've also tried and get the same results). Could the TortoiseHg and Mercurial installations be causing problems?