如何将符号链接视为Mercurial中的目录?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将符号链接视为Mercurial中的目录?相关的知识,希望对你有一定的参考价值。

从0.9.4开始,当添加符号链接时,Mercurial会跟踪链接本身,而不是它指向的文件或目录。但是,有时需要跟踪符号链接指向的文件。

如何强制Mercurial将目录的符号链接视为常规目录?

答案

在linux下你可以使用

mount --bind sourcepath targetpath

而不是符号链接和mercurial将目标视为通常目录(在使用Mercurial 1.3.1的openSUSE 11.2和RHEL6上测试)。

可以包含在/etc/fstab中的替代语法是

mount -o bind sourcepath targetpath

那么fstab条目就是

sourcepath targetpath none defaults,bind 0 0
另一答案

当你使用目录时,我认为没有办法做到这一点。

如果你正在使用mercurial 1.3或更高版本,你可以尝试使用新的subrepo支持,这将让你在本地磁盘上拥有一个repo track的东西,但它不像链接那样无缝。

另一答案

当我发现这一点时,我感到很惊讶,但它似乎是Mercurial team don't want to change for security reasons的一个特征。

我打算通过使用rsync从我的makefile提交之前更新目录的本地副本来绕过它。这不是一个很好的解决方案,但我的目录很小,所以应该没问题。

另一答案

只需跟进Rage Steel的优秀答案(mount -bind):

要在启动时准备好挂载(因为挂载不能重新启动),在/ etc / fstabs中放置:

/ path / to / source / path / to / target bind defaults,bind 0 0

只需确保在安装源之后放置它。

以上是关于如何将符号链接视为Mercurial中的目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 mercurial 将文件夹与现有 Heroku 应用程序链接

如何将 Mercurial 用于 Xilinx Vitis IDE 项目

使用 Mercurial 将代码添加到 bitbucket 的正确目录结构

如何在源代码控制下处理项目中的符号链接?

将表情符号视为正则表达式中的一个字符[重复]

如何将组合框视为另一个表单的链接?