将 Moodle 更新到最新的安全版本

Update Moodle to the newest secure version

我从我的同事那里得到了一个旧的但非常受欢迎的 Moodle 2.7.3 版本,直到现在才更新。连security updates weren't made。 由于该版本是高度自定义的,因此 不可能 只复制粘贴代码并使其成为最新的 2.7.x stable version。 我是否应该开始比较它:

并通过每次比较调整最新的代码和代码片段,在标准更新的方式下不改变版本?

我建议使用 git 来管理未来的更新。

克隆主要 git 存储库:

git clone git@github.com:moodle/moodle.git

然后根据您的站点所基于的 Moodle 版本(标记为 v2.7.3)创建一个新分支:

git checkout v2.7.3
git checkout -b [name of branch to create]

完成后,将您当前站点的代码复制到上面。现在查看并提交每个自定义更改(gitk 等工具或内置 git 支持的 IDE,如 PHPStorm 可以帮助完成此操作)。

一旦在合理的块中提交了所有更改,就可以升级到最新的 Moodle 2.7,方法是创建另一个新分支并将其 rebase 到最新的 Moodle 代码之上:

git checkout MOODLE_27_STABLE
git pull
git checkout [name of branch created above]
git checkout -b [a new branch name for your upgraded code]
git rebase -i MOODLE_27_STABLE

这可能会很干净,或者您可能需要解决一些冲突(取决于原始版本中的更改以及 Moodle 中发生的更改)。

任何未来的升级(甚至在主要版本之间)都可以使用最后一组 git 命令完成(但是,在主要版本之间升级时,您需要 trim 出任何核心 Moodle在 'rebase' 步骤期间提交)。

我还建议为您的站点分支制定某种一致的命名约定(例如,基于 Moodle 版本号)。