项目升级更改与自定义版本合并
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目升级更改与自定义版本合并相关的知识,希望对你有一定的参考价值。
我正在运行一个开源电子商务商店(nopcommerce),并对商店进行了大量的自定义。
每次发布新版本的软件时,我都会使用winmerge来检测哪些文件已更改,然后将这些更改合并到项目中。这工作正常,但随着我的定制工作的增加,这项任务变得越来越成问题。
我真正想做的是能够从我当前的版本到新版本的差异,然后通过并应用我想要的更改。如果我使用TFS,有没有一种标准的方法来实现这一目标?也许一个三向合并应用程序可以更好地完成工作?
为了使事情进一步复杂化,我使用主题支持将我修改后的视图添加到另一个位置,因此需要找出从版本到版本的更改并将其应用于此附加文件夹中的文件。
事实上,这是令人头疼的问题 - 决定了我所做的改变,以及哪些是新版本的新变化。
nopCommerce在Mercurial via CodePlex中托管其源代码。您真正需要做的就是克隆他们的存储库并对您的本地克隆进行更改。然后,您可以跟上他们的修改或等到下一个版本发布,然后从他们的repo获取更新并将其与您的更改合并。 Mercurial是一个分布式版本控制系统,只是合并得很好,如果你尝试使用Subversion,TFS或Mercurial之外的任何东西手动为自己做一些事情,你会遇到更少的问题。去下载TortoiseHg,它为你提供了一个很好的GUI和Mercurial的命令行工具。 TortoiseHg附带KDiff3合并工具,但我强烈推荐Beyond Compare。它不是免费的,但是我会为这个软件支付一百倍的费用。
与往常一样,如果您在使用Mercurial时需要帮助,请参阅Hg Book。
我已经使用了TFS和Subversion,我强烈推荐使用TortoiseSVN(命令行)和VisualSVN(集成到Visual Studio中)的Subversion(源代码库)。
使用这些工具,可以非常非常轻松地找到确切的文件更改,更重要的是,如果出现严重错误,可以回滚到以前的版本。
您还可以添加CruiseControl持续集成以自动构建解决方案并在每次签入时运行单元测试,以确保您不会无意中破坏某些内容。
以上是关于项目升级更改与自定义版本合并的主要内容,如果未能解决你的问题,请参考以下文章
将 Orchard CMS 与自定义 MVC 电子商务网站合并