gpt4 book ai didi

SVN、Samba 和符号链接(symbolic link)。怎么让大家一起玩?

转载 作者:行者123 更新时间:2023-12-04 17:19:41 25 4
gpt4 key购买 nike

我有一个受版本控制的网站项目,它通过符号链接(symbolic link)依赖于同一服务器上未版本化目录中的文件。

我目前将符号链接(symbolic link)存储在存储库中。这个想法是,如果有人将工作副本 checkout 到同一台服务器上,他们可以在将项目的工作副本提交回存储库之前对其进行编辑和测试。

当他们 checkout 他们的工作副本时,它会成功设置符号链接(symbolic link),以便整个站点在测试时工作。

从事该项目的用户是 Windows 用户,所以我在服务器上设置了一个 samba 共享,然后将它们映射到 Windows 中的网络驱动器。人们可以通过网络共享直接在服务器上编辑他们的工作副本,然后在通过 TortoiseSVN 将更改提交回存储库之前在 Web 浏览器中对其进行测试。

问题

我遇到的问题是 Samba 按预期解析了符号链接(symbolic link),但是当用户尝试将他们的更改提交回存储库时,TortoiseSVN 认为链接文件是项目的一部分并尝试将目标文件提交到存储库而不是符号链接(symbolic link)他们自己。

我尝试在 samba 中关闭符号链接(symbolic link)支持,这意味着无法解析链接文件,因为我真的不希望人们访问链接文件,也不想在存储库中导入链接文件。问题是我得到 Can't stat '\\webserver\projects\working\project\symlinked_file.php'. Access is denied
除了符号链接(symbolic link)问题之外,其他一切都 100% 完美运行。用户可以将网站项目 checkout 到他们的机器上并对其进行处理(但无法测试),或者将它们 checkout 到开发 Web 服务器上的空间并对其进行处理并进行全面测试。所以我不想改变工作流程,我只需要解决符号链接(symbolic link)问题。

非常感谢。

最佳答案

我决定从存储库中删除符号链接(symbolic link)。然后我创建了一个 bash 脚本,提示用户在他们的工作副本中创建符号链接(symbolic link)。我必须确保我关闭了 Samba 的 follow symlinks阻止 TortoiseSVN 尝试将链接文件添加到存储库的选项。

另外应该注意的是,当用户使用 TortoiseSVN 执行提交时,它会在更改日志中显示链接,但不会检查它们,因此不会添加到存储库中。你只需要忽略它们。

关于SVN、Samba 和符号链接(symbolic link)。怎么让大家一起玩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com