补丁MediaWiki,跳过次要版本?

时间:2014-09-26 17:13:49

标签: mediawiki patch

我想将MediaWiki从1.23.1修补到最新的1.23.4(在Ubuntu 12.04.5上)我计划使用补丁:https://www.mediawiki.org/wiki/Manual:Upgrading#Using_patch

我的问题是我可以直接申请补丁1.23。 4 或者需要先得到1.23。 2 ,1.23。 3

根据文件大小看起来我不能跳转版本(4小于3) https://releases.wikimedia.org/mediawiki//1.23/

mediawiki-1.23.2.patch.gz   30-Jul-2014 19:34   4.0K     
mediawiki-1.23.3.patch.gz   27-Aug-2014 21:49   21K  
mediawiki-1.23.4.patch.gz   24-Sep-2014 20:12   7.9K     

1 个答案:

答案 0 :(得分:2)

您是对的:补丁是增量的,因此如果您选择升级路线,则需要按顺序应用每个补丁。

您可以通过查看补丁文件本身来确认这一点。例如,1.23.4 patch以以下行开头:

diff -Nruw -x messages -x '*.png' -x '*.jpg' -x '*.xcf' -x '*.gif' -x '*.svg' -x '*.tiff' -x '*.zip' -x '*.xmp' -x '.git*' mediawiki-1.23.3/includes/config/GlobalVarConfig.php mediawiki-1.23.4/includes/config/GlobalVarConfig.php
--- mediawiki-1.23.3/includes/config/GlobalVarConfig.php        2014-09-24 19:58:09.941581474 +0000
+++ mediawiki-1.23.4/includes/config/GlobalVarConfig.php        2014-09-24 19:55:15.782579699 +0000

从这个标题(在unified diff format中)你可以看出补丁是针对MediaWiki 1.23.3的,即它假设你已经应用了早期的补丁。

如果您尝试在未先应用最新补丁的情况下应用最新补丁,则至少部分补丁几乎肯定无法应用。然而,有些部分可能会成功,留下一个奇怪的混合版本的MediaWiki,其中包括最新次要版本的一些修复,但没有来自您跳过的早期版本(并且可能仍保留其原始版本号) 。为了避免这种令人困惑的情况,最好使用--dry-run选项patch实用程序来确保每个补丁在实际应用之前都能完全应用。