5

目前我的团队使用 Visual Sourcesafe,并且非常熟悉第一手的 GUI 是多么可怕,并且听到了互联网上关于它有多不可靠的说法,我一直在努力推动转向 SVN。

今天我和经理讨论了他支持的最终举措,他问是否可以在 SVN 中创建 sourcesafe 样式的链接。对于不熟悉 sourcesafe 的人来说,链接在概念上与 Linux 下的文件链接相同。我们使用它们来链接项目之间的共享代码/库。我解释说没有办法使用 SVN 创建链接,他提出这可能是迁移的主要症结所在。

我告诉他,在我本地的 SVN 中(我一直在简化我的开发,只在 sourcesafe 中定期检查),我将共享代码/库放在一个位置,并将 ANT 引用到该位置。但是,我感觉到他对这个解决方案并没有留下深刻的印象,因为它增加了 ANT 任务的复杂性。就我个人而言,我认为拥有一个稍微复杂一点的 ANT 脚本而不是在源代码管理中拥有一堆链接文件是值得的,但这确实是您订阅哪种范例的问题。

我很好奇广大开发人员是如何解决这个限制的,以及像 Git 和 Mercurial 这样的更新的源代码控制系统支持链接吗?

4

3 回答 3

8

查看svn:externals属性。

于 2009-02-02T17:28:05.503 回答
3

我们使用 TFS 进行版本控制,而 TFS 也没有 VSS 链接功能。我们已经消除了所有链接文件。之前链接的所有类文件都已放入类库中,这些类库作为解决方案中的共享项目引用共享给我们的其他项目。所以本质上你共享库,而不是类文件。

有一些调整过程习惯了这一点,但从那时起我就没有错过任何链接。通过像这样设置代码,它确实促进了更好的设计实践。仅在一个项目中使用类有助于避免破坏性更改,因为测试更改的影响要容易得多(使用链接,您甚至可能不知道更改是否导致编译问题)。当您不必担心链接文件时,更好的源代码控制系统的一些功能(如强大的分支和合并支持)工作得更好。

于 2009-02-02T18:09:38.273 回答
-1

当源文件应该在不同平台(.NET、Silverlight、.NetCF)之间共享时,链接很有用,因为源文件可能是相同的,因此可以共享,但编译的库不能在这些平台之间共享。

于 2009-03-17T07:55:56.177 回答