我想将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
答案 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
实用程序来确保每个补丁在实际应用之前都能完全应用。