2

我正在经营一家开源电子商务商店(nopcommerce),并对商店进行了很多定制。

每次发布新版本的软件,我都会使用winmerge尝试检测哪些文件发生了变化,然后将这些变化合并到项目中。这工作正常,但随着我的定制增加,这项任务变得越来越成问题。

我真正想做的是能够获得从我当前版本到新版本的差异,然后通过并应用我想要的更改。如果我为此使用 TFS,是否有标准方法来完成此操作?也许 3 路合并应用程序会做得更好?

为了使事情更复杂一点,我正在使用主题支持将修改后的视图添加到另一个位置,因此需要计算出从版本到版本的更改并将其应用于此附加文件夹中的文件。

事实上,这是最令人头疼的地方——确定我做了哪些更改,哪些是新版本的新更改。

4

2 回答 2

1

nopCommerce通过 CodePlex在 Mercurial 中托管其源代码。您真正需要做的就是克隆他们的存储库并对您的本地克隆进行更改。然后,您可以跟上他们的修改或等到下一个版本发布,然后从他们的存储库中获取更新并将其与您的更改合并。Mercurial 是一个分布式版本控制系统,它确实可以很好地合并,如果您尝试使用 Subversion、TFS 或 Mercurial 以外的任何工具为自己手动执行某些操作,您将遇到更少的问题。去下载TortoiseHg,它为您提供了一个不错的 GUI 和 Mercurial 的命令行工具。TortoiseHg 带有 KDiff3 合并工具,但我强烈推荐Beyond Compare. 它不是免费的,但我愿意为这个软件支付一百倍的费用。

与往常一样,如果您在使用 Mercurial 方面需要帮助,请参阅Hg Book

于 2011-11-29T04:12:39.943 回答
0

我同时使用了 TFS 和Subversion ,我强烈推荐使用TortoiseSVN(命令行)和VisualSVN(集成到 Visual Studio)的 Subversion(源存储库)。

使用这些工具,可以非常非常容易地准确找出哪些文件发生了更改,更重要的是,如果出现严重错误,可以回滚到以前的版本。

您还可以添加CruiseControl持续集成来自动构建您的解决方案并在每次签入时运行单元测试,以确保您不会无意中破坏某些内容。

于 2011-11-29T02:06:47.900 回答