4

我们即将开始一个新项目,我们客户的当前应用程序是 SourceSafe 中的 .NET 版本。但是,我们在内部使用 Subversion。这可能是一次“一次性”交付(完整的应用程序重写),因此他们可以轻松地从我们的存储库中进行检查,然后导出并导入到他们的 SourceSafe 存储库中。但是,我担心的是,如果我们进行一些编辑或进行未来的维护,它会变得更加难以管理。关于如何最好地处理这个问题的任何想法?

编辑:

我不确定它是否会有所作为,但客户进行更改的可能性很小。如果他们这样做了,那将是在我们 100% 完成之后,这样更容易管理。如果我们俩同时进行更改,那么我可能会建议我为他们的项目授予他们对我们的 repo 的写访问权限,并且我们以这种方式进行管理。不过,我正在努力向前思考,因为他们很有可能希望我们回来并与他们一起做更多的工作。

4

4 回答 4

3

另一种选择是为他们提供对您的 svn 存储库的访问权限(仅限他们的项目),并为他们提供支持、链接等。一旦他们看到光明,他们可能不想使用其他任何东西......

我想我会这样做,直到你必须做出关于安全的决定。也许在你必须做出决定之前,它就会消失。

我过去确实有过这方面的经验。出于某种原因,我们分包的公司在内部使用 CVS,但 SourceSafe 用于面向外部客户的东西。我接手了这个项目,并把它放到了svn中。承包商对此很满意。

编辑:

此外,可以设置主/从 svn 存储库。不确定这在这种情况下是否有帮助。

另一种可能性是询问他们是否会托管一个 svn 存储库,如果您首先设置并管理它。

总而言之,最好与客户交谈以解决此问题。看看你能想出什么主意。维护两个 ACTIVE 回购不是一个好主意。

于 2009-01-13T18:46:42.293 回答
2

我一直在研究 VSS->SVN 迁移工具,其中一项任务是为更新 SVN 存储库提供支持,其中包含在某个日期之后所做的任何更改(我必须这样做,因为我们有一个 16 gig VSS 数据库,迁移大约 300 万个单独的修订版本需要眨眼时间)

因此,我制作了 VSS DB 的快照副本,并使用它进行导入,然后一段时间后,我迁移了自拍摄快照以来所做的所有更改。看起来这对您很有用,因为您可以将客户所做的更改导入到他们的 VSS 数据库中。

该代码在 SVN 存储库中发布,但尚未构建为包,因为您必须从 SVN 存储库下载文件并进行构建。它基于 .NET,因此您应该对它感到满意。它还保留所有标签、作者和日期更改。

它作为 VSS2SVN托管在CodePlex 上。

于 2009-01-17T16:06:42.950 回答
1

我想知道是否有任何方法可以使用分布式版本控制系统来管理两个存储库之间的交互。我知道 git 可以与 svn 一起使用,但我不确定 sourcesafe。

于 2009-01-13T18:34:31.567 回答
1

客户是否也会对程序进行更改?如果是这样,我会说您认为最好的是:从颠覆中导出并将其放入源代码安全中。然后,无论何时他们希望您进行更改,您都可以导出(或签出或其他)他们所做的任何更改,并在 subversion 中对签出版本进行这些更改(实际上只是复制顶部)。它不漂亮,但你没有很多选择。您也可以尝试让他们向您发送他们所做的任何和所有更改。

为什么需要将代码保存在两个代码仓库中?

于 2009-01-13T18:35:29.943 回答