Mercurial可以从Windows创建自己的符号链接格式吗?

时间:2012-04-04 18:30:04

标签: windows mercurial symlink

我知道Mercurial不支持Windows上的repos中的符号链接;我可以忍受这一点,尽管使用NTFS符号链接的实现对那些可以在非Windows管理员的Windows机器上启用权限的人来说会很好。

我想知道的是当在Windows机器上看到repo时Mercurial处理来自Unix存储库的实际链接的方式。如果我在Windows开发机器上使用符号链接从repo更新,我会看到该链接已更改为实际文件,其中链接的目标为文本。

不知何故,Mercurial甚至在Windows上也知道该文件最初是一个符号链接,即使它是作为真实文件存储的。如果我在Windows中编辑文件的内容,我可以更改符号链接的目标,因为它仍然被Mercurial记录为符号链接 - 当我回到Unix时,符号链接指向新位置。

因此。如何将我在Windows中创建的文件标记为符号链接?很明显,Mercurial可以将这样的符号链接推送到Unix文件系统中,但我不知道如何在Unix下首先创建链接来标记它。

是否有可以设置的标志?

1 个答案:

答案 0 :(得分:1)

我担心会有no work-around on Windows。您可以编写一个扩展,让您在Windows上为文件设置符号链接位。此扩展可能必须覆盖dirstate.flagfunc,这是在为文件请求“flags”(执行和符号链接位)时使用的函数。

另请参阅Issue 1825了解Mercurial在结帐时创建Windows符号链接的整体功能。它被标记为“已完成,可能更好”,因此不太可能很快改变。