【发布时间】:2014-12-03 20:06:45
【问题描述】:
我有一个通过使用 hgsubversion 克隆 SVN 存储库创建的 Hg 存储库。当我执行“hg update --clean”时出现错误:中止:不允许取消链接目录:'E:\Scratch\svn_to_hg\WorkProject_hg\My Project\PublishProfiles'。
如果我指定修订版 1487,则更新工作正常。如果我指定修订版 1488,则会收到错误消息。所以 rev 1488 一定是问题所在。这就是 1488 的样子:
> hg log -v -r 1488
changeset: 1488:d2292eeddb4e
user: smartin@c08dbded-914e-0410-8527-b5f3b8929523
date: Wed May 07 15:29:46 2014 +0000
files: My Project/PublishProfiles/Shea FS.pubxml
这是我将一个文件添加到它抱怨它无法删除的文件夹中。
我在1488之后有200次修订,所以我不知道在这里做什么......
我在 Windows 7 上,使用的是 Tortise HG 附带的 hg 3.1.1。我对最新的 hgsubversion 进行了更新,我还尝试以管理员身份运行该命令,以及旧的“重新启动”。
还有人有想法吗?
更新:我有更新。我可以进行更新,如果我更新到 1487,那么我注意到“PublishProfiles”文件夹实际上是一个空文件!我删除了那个文件,然后我可以更新到 1488 或正确提示。 我想现在的问题是,我怎样才能得到这个,这样其他人就不必每次克隆这个存储库时都这样做?
【问题讨论】:
-
您应该检查该目录没有设置只读标志。 (不确定这是怎么发生的,但以防万一。)您可以手动删除目录吗?
-
在 hg update -C 之前目录不存在。更新失败后,有问题的目录在那里,并且是只读的。当我通过属性对话框取消选中只读标志时,它似乎再次将自身设置回只读状态。我还注意到我的其他 Hg 存储库(工作正常)似乎在其目录上设置了 r/o 标志。
-
我今天遇到了这个问题。出于某种奇怪的原因,我设法提交了一个空目录。 hg 不支持跟踪目录,只支持文件。因此它创建了一个具有目录名称的文件并提交了该文件而不是目录。当构建服务器构建项目时,它正确创建了目录,但将其设为只读。我的解决方法是删除目录文件并提交。如果您构建脚本需要该目录,那么只需从构建脚本创建它。
-
Paw,我的问题是创建空目录的提交之前是 200 次提交。没有办法将其剥离。 Git 似乎支持这种情况,所以我之前的解决方案可以正常工作。
标签: windows mercurial hgsubversion