我正在做一个使用Orchard CMS的项目。
我们为 CMS 制作了一些我们自己的模块和主题,并且还必须在 Orchard 源代码中进行一些代码更改。这当然不是一个很好的做法,因为这些更改会在升级 CMS 或类似的东西时消失。但是,当时进行这些更改是不可避免的,因为默认功能无法按照我们客户的要求运行。
现在,所有这些更改都是在旧版本 1.5.1 上进行的,现在我们需要继续使用新版本(目前为 1.6)。通过这样做,我们将丢失我们对 Orchard 资源所做的所有更改。
我已经将我们对默认源所做的所有更改捆绑在 1 个变更集中,因此将它们合并到新版本的 CMS 中变得更容易一些。但是,在我看来,这并不是一个非常好的工作流程。
我们可以选择 fork 项目并在 fork 中进行更改,但是在升级时我们会遇到同样的困难,因为我们在升级 fork 时仍然需要合并所有更改。创建拉取请求也不是一个真正的选项,因为更改可能不会在主存储库中进行,或者并非所有用户都会喜欢这些更改。
我们可以在这个项目中使用其他一些常见的做法吗?
注意:目前我正在为我正在处理的项目提出这个问题,但我想知道一般情况下如何使用 OSS 项目,您需要更改项目的源并仍然想获得最新版本偶尔。