我有一个受版本控制的网站项目,它通过符号链接依赖于同一服务器上未版本化目录中的文件。
我目前将符号链接存储在存储库中。这个想法是,如果有人将工作副本签出到同一台服务器上,他们可以在将项目的工作副本提交回存储库之前对其进行编辑和测试。
当他们签出他们的工作副本时,它会成功设置符号链接,以便整个站点在测试时工作。
从事该项目的用户是 Windows 用户,所以我在服务器上设置了一个 samba 共享,然后将它们映射到 Windows 中的网络驱动器。人们可以通过网络共享直接在服务器上编辑他们的工作副本,然后在通过 TortoiseSVN 将更改提交回存储库之前在 Web 浏览器中对其进行测试。
问题
我遇到的问题是 Samba 按预期解析了符号链接,但是当用户尝试将他们的更改提交回存储库时,TortoiseSVN 认为链接文件是项目的一部分并尝试将目标文件提交到存储库而不是符号链接他们自己。
我尝试在 samba 中关闭符号链接支持,这意味着无法解析链接文件,因为我真的不希望人们访问链接文件,也不想在存储库中导入链接文件。这个问题是我得到 Can't stat '\webserver\projects\working\project\symlinked_file.php'。访问被拒绝
除了符号链接问题之外,其他一切都 100% 完美运行。用户可以将网站项目签出到他们的机器上并对其进行处理(但无法测试),或者将它们签出到开发 Web 服务器上的空间并对其进行处理并进行全面测试。所以我不想改变工作流程,我只需要解决符号链接问题。
非常感谢。
最初发布在 StackOverflow 上: https ://stackoverflow.com/questions/2400917/svn-samba-and-symbolic-links-how-to-get-them-all-to-play-together
我有一个有点类似的设置,但我选择不在 svn 中包含符号链接。
相反,我制作了一个脚本,在结帐后简单地创建符号链接。
格。