如何完好的升级到 MoinMoin1.3.1 ?!
-- Zoom.Quiet [DateTime(2005-01-07T16:35:31Z)] TableOfContents
怎么办?
有最新稳定版本了!但是!
MoinMoin 的安装方式没有变化!
- 但是!!目录结构完全变化了!!
- 原先的升级后,也是原有看页面全部不能自动识别,是人工一一恢复的!!
- 这次一定要摸索出正确的方式来!
- 到现在没有头绪!请大家帮忙是也乎!………………
凉办!
升级脚本
- 果然有专门的脚本进行处理!
台湾 [http://ljm.idv.tw/mywiki/%e9%a6%96%e9%a0%81 林哲民] 指点了一下子:
我想你之前的文件應該都是用 GB2312 碼存儲的吧? 首先要把 data/ 製作一份備份,移除所有歐洲語系 (latin-1) 的頁面 (如 Hje_e4... 這種) 然後執行 moin-1.3.2 裡面 附的 12_to_13_mig?.py 程式。 一定要看 README 說明,升級全部順利的話 20 分鐘左右 可以做好,但如果沒看說明、或是沒有移掉 latin-1 網頁, 可以搞上幾個小時。 正確轉換的話,連變更記錄和附件都會留下來。 -- 泰山崩兮!禮樂壞兮!
mig 处理流程
- 呜乎矣哉!按照移植说明,要一一进行转换!
- {{{首先要把 data/ 製作一份備份,移除所有歐洲語系 (latin-1)
的頁面 (如 Hje_e4... 這種) text:
- _d* ##language:sv Aide_* ##language:fr Aiuto* ##language:it H_* ##language:sv Aktuelle_c4nderungen ##language:de
ZufallsSeite ##language:de
text.default 中多有:
- Hi* 是德文的 Hj* 是挪威的
(干脆杀光!反正新版本中是使用underlay 目录专门管理帮助页面了!) """
- 然后,按照原始的:
具体脚本在 MoinMoin/scripts/migration/12_to_13_migN.py (在你MoinMoin安装到的目录, /usr[/local]/lib/python2.x/site-packages/MoinMoin). 有几个脚本问以将你的数据转换到当前版本 你必须,在 停止 旧版Wiki 后,运行 新版Wiki 前进行转换 确定有足够的空间(每次转换都会产生新的复制) 在升级时,先确认你的版本,作为转换入口的依据 你运行的版本 使用的移植(mig)脚本 --------------------------------------------- before 1.2 first upgrade to 1.2.4 and test for a while 1.2.x mig1 - check from_encoding in script! 1.3 <patch-78 mig2 1.3 <patch-101 mig3 1.3 <patch-196, =beta2 mig4 1.3 <patch-221, =beta3 mig5 1.3 <patch-248 mig6 - check from_encoding in script! 1.3 <patch-275, =beta5 mig7 1.3 <patch-305, =beta6 mig8 1.3 <patch-332, =beta7 mig9 1.3rc1 - 修改脚本中的 from_encoding 设置为相应的值, 如果你旧版本的安装中没有使用默认的 iso-8859-1 编码 (在1.2.X 和以前的版本,默许是 iso-8859-1 编码 (你可以在 moin_config.py中使用 charset = '...' 来修改), ) 你必须在 mig 脚本中也进行修改 当然,其实你最后还是要将所有移植脚本按照正确的次序运行一遍的, 以上对照表,仅仅是帮助你记忆,哪些脚本已经运行过?! 将你的 date/ 目录复制到脚本目录中,依次运行所有脚本 结束后,你将获得新版本的数据目录 可能有些东西没并不需要转换,请阅读脚本中的注释获得详细指点 特别要注意 mig5 的脚本. 注意!移植脚本,仅仅能够自动转换你的 文章,并不能转换你定制的插件,在1.3的新API接口面前, 你原先版本的Plugin 并不会良好的工作,需要重新自行调整,与1.3保持一致!
经历
- 经过长久安定的运行,还是有些小问题!
- 虽然一开始就是指定 UTF-8 的编码进行的管理
- 但是Wiki 森林中,天生有些问题——就是那些个欧洲编码的文章!!
- 转换到12_to_13_mig4.py 死活过不去:
{{{data.pre-mig4/pages/huanian(2f)MoinEditorBackup/text -> data/pages/huanian(2f)MoinEditorBackup/text Traceback (most recent call last):
- File "12_to_13_mig4.py", line 148, in ?
- convert_eventlog(opj(origdir, 'event.log'), opj('data', 'event-log'))
- data[0] = str(convert_ts(float(data[0]))) # we want usecs
ValueError: empty string for float() }}}
- 幸好,都是Python ,调试一下子,就确定了有问题的 event-log 记录行,
- vi 进去,修改好!这次是在行首有非常的二进制“ ”空格!!
- 12_to_13_mig6.py 时,则是没有办法将 UTF-8 以外的欧洲字符,转换为Uincode的,
- 还是 vi 进去逐一清除!
- 到了12_to_13_mig8.py 是死活不行了,
返回去 干脆 #touch data/event-log 放空 log 记录!
- 接着就好了!哈哈哈!
除了在 RecentChanges 中,报告有些修改动作丢失………………可以忍受!!