我的团队正在开发一个新的应用程序(C#,.Net 4),它涉及共享用户内容的存储库.我们需要决定在哪里存储它.要求如下:
我不确定什么是最好的,所以:
编辑
应用程序使用户能够编写稍后执行的验证测试.这些测试由不同站点上的许多组共享.我们需要出于常规原因进行版本控制 - 撤消更改,突然删除等.这需要SVN.
问题是,我们还想添加选项以查找标记为"紧急"并且现在已执行的所有测试,以便进行跟踪.
我希望我现在更清楚:)
编辑II
我遇到了SvnQuery它看起来不错,但是它有一个我可以使用的API吗?我宁愿在我自己的GUI中使用他们的机制.
编辑III
我的同事强烈支持仅使用数据库并忘记基于文件的存储.他声称持久性更好(这是必需的 - 测试不仅仅是要执行的命令列表).我很欣赏这个问题的投入,因为我认为应该可以这样或那样做.
谢谢!
你可以使用SVN。
有一些很棒的 API 可用于使用 SVN,可能最容易访问的是 SharpSVN,它为您提供了 .net 程序集,但也有 Python 和 C 以及各种可用的 API。
如前所述,有一些位于 SVN 之上的 Web 工具可以提供对 SVN 的查看,有 Trac、Redmine 和几个存储库查看器(如 webSVN),因此有大量示例代码可用于编写您自己的代码。
您会使用像 git 或 Mercurial 这样的 DVCS 吗?我不会。尽管它们本身具有良好的机制,但听起来它们并不是您想要的。这些允许人们独立工作并在点对点的基础上与其他人共享(尽管您可以设置一个“中央”存储库并作为每个人的同伴使用它)。它们不是以集中、共享的方式工作。例如,如果你和我都在本地编辑一个测试用例,然后推送到中央存储库,我们可能会遇到合并问题。如果文件是二进制文件或其他不可合并文件,我们将在合并时遇到问题。在这种情况下,您会遇到丢失某人的更改的问题。这是在您的情况下不使用 DVCS 的主要原因之一。
如果您尝试将共享测试放在一起,您是否查看过一些已经执行此操作的应用程序。我最近注意到TestRail听起来就像你正在尝试做的事情。它不是免费的(唉)但是很便宜。