我发现 subversion doesn't support symlinks under Windows .
我想知道是否有人知道能够在 Windows 和 Linux 下使用符号链接(symbolic link)的 SCM 工具?
SCM 工具目前在 Windows 下缺少符号链接(symbolic link)支持:
- 清晰案例
- 颠覆
- Mercurial
- 执行力
最佳答案
大多数 SCM 专注于存储规范化数据(将您的 SCM 视为数据库)。这意味着它们存储源文件和构建脚本,而不是存储从它们派生的可执行文件。人们可以同时存储两者,但这会导致不必要的重复。
类似地,符号链接(symbolic link)是对其他文件的引用,代表与数据规范化类似的问题。
此外,指针通常很难推理。在 SCM 中添加对指针(符号链接(symbolic link))的支持意味着某些操作将需要检查符号链接(symbolic link)指向的位置并采取相应的行动。这使合并变得更加困难,添加/更新符号链接(symbolic link)很棘手,因为您需要找出它指向的位置(在 repo 中与 repo 外,两个符号链接(symbolic link)指向同一文件等)。
由于这些原因,大多数 VCS/SCM 不允许您管理符号链接(symbolic link)。大多数 SCM 都支持用户定义的 Hook 。使用自定义 Hook 或其他脚本来管理符号链接(symbolic link)是一种更好的方法,因为这意味着 SCM 不必对它们进行推理(它对它们一无所知),并且您正在回避它们创建的数据规范化问题。
因此,总而言之,您最好编写管理符号链接(symbolic link)的脚本,然后在适当的时候调用它们(克隆/ check out 、更新/提交等)。
关于windows - 什么 SCM 在 Windows 和 Linux 下支持符号链接(symbolic link)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2167214/