0

我们公司svn上有很多视觉工作室解决方案,不同的团队在不同的领域工作。我们的一些项目是可重复使用的库项目。

当有人在作为特定解决方案的一部分的图书馆项目中进行重大更改时,问题就出现了......那个人怎么知道其他解决方案可能会受到影响?

是否有一些工具可以递归地遍历文件系统,打开 VS 项目并构建依赖关系图,以便我一眼就能看出哪些解决方案会受到影响?

4

3 回答 3

1

<brainstorm>
    或者,您可以使用 svn 的 precommit 挂钩来运行
    已提交项目的单元测试,并在测试失败时拒绝提交
</brainstorm>

于 2010-08-05T23:42:26.463 回答
0

我们使用持续集成来检测是否有人进行了重大更改,因此不需要找出依赖关系图(好吧,见下文)。

每次提交到 SVN 时,它的作用是构建所有解决方案及其所有项目。当然我们需要知道解的顺序(6个解,可以忍受)。在每个解决方案中,项目(最多 65 个)都设置了它们的依赖项,因此它们以正确的顺序构建。我们使用三个代理的构建网格来保持较低的响应时间。

因此,我们在一小时或更短的时间内就知道更改是否破坏了构建。

在您的情况下,其他因素可能在起作用,因此适合我们的解决方案可能不适合您。

于 2010-08-06T00:40:22.570 回答
0

安装cygwin并运行

find . -name "*.sln" -exec grep -q "*ProjectName.csproj*" '{}' \; -print

从存储库的根文件夹中。

您将打印出包含该项目的所有 sln 文件。我以为我可以从 windows vista 做到这一点,但是 windows 资源管理器中的“高级搜索”功能很糟糕。您不能同时指定文件模式和内容模式。

于 2010-08-06T03:28:15.747 回答