**[[続・質問箱/186]] [#pc071933]
#author("2018-03-11T12:45:32+09:00;2010-01-12T03:40:56+09:00","","")
**[[質問箱/2186]] [#pc071933]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|改造されたPukiWikiのバージョンアップ|
|~バージョン|1.4.2|
|~投稿者|[[名無しさん]]|
|~状態|完了|
|~投稿日|&new{2004-05-26 (WED) 03:52:31};|
***質問 [#id296a63]
[[質問箱/312]] に似たような質問はあったのですが、結局どうしたらよいのかわからなかったので質問します。

PukiWiki を改造していた場合バージョンアップはどのように行えばよいのでしょうか?最新版をダウンロードして diff をとって patch をあててしまうと最新版になるだけですよね?

cvscheck.inc.php を利用して、最新バージョンが出ているかを確認し、CVS サイトにいって、改造したけれども自分が使っているバージョンと最新バージョンとの比較をして、それをちくちく手動で書き換えるのですか?

改造したものと同じバージョンの本来のスクリプトとの diff をとって、さらにその本来のスクリプトと最新バージョンとの diff をとって、両方を、って無理ですよね?

ずばり手動なんですか?よろしくお願いします。
***回答 [#vfec41e3]
-[[三浦克介]] &new{2004-05-26 (WED) 09:16:52};
~cvsのupdateというコマンドを使えば、半自動でマージできますよ。ここで言うcvsとは、CVSサイトのことではなく、cvsというプログラムです。無い場合は、インストールしてください。改造の度合いにもよりますが、大部分は自動でマージしてくれます。変更箇所が重なっていてマージできない部分は、両方の(CVSの最新版と貴方の改造)のソースが示されます。その部分は、手動でマージする必要があります。まずは、cvsの勉強をしてみて下さい。[[CVS]] も参考に。
-[[名無しさん]] &new{2004-05-26 (WED) 17:13:38};
~ほうほう、ありがとうございます。
-[[名無しさん]] &new{2004-05-26 (WED) 19:22:16};
~1.4.2 から 1.4.3 への update するためには個々のファイルのバージョンが記述されている CVS/Entries などが必要なんですよね?バージョン 1.4.2 の CVS/ を取得するにはどうしたらよいのでしょうか。普通の checkout で 1.4.2/CVS/Entries などがついてきたのですが、中身は空みたいなものでした。
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/pukiwiki
 checkout -r 1_4_2_branch pukiwiki
とでもするのかとも思ったのですが、
 cvs [server aborted]: Numeric tag 1_4_2_branch contains characters
 other than digits and '.'
とエラーがでるだけでした。お願いします(ついでに CVS/ 情報だけ取得する方法がありましたらお願いします)。
-[[名無しさん]] &new{2004-05-26 (WED) 20:11:28};
~ -r 1.4.2 でできました。と思ったら CVS/Entries の中身は D/plugin//// だけでした。-r って個々のファイルのバージョンを指定しているだけでしょうか?どのようにして pukiwiki1.4.2 の CVS 情報を得るのか引き続きよろしくお願いします。
-[[名無しさん]] &new{2004-05-27 (THU) 12:33:26};
~というかそもそもローカルに2つのファイルをマージするようなプログラムってないのですかね?
-[[三浦克介]] &new{2004-05-27 (THU) 19:22:56};
~タグが違います。-r r1_4_2 です。ローカルのコマンドでやる方法としては、diff3 でできるはずです(やったことないですけど)。
-[[名無しさん]] &new{2004-05-27 (THU) 23:40:13};
~ということは [[CVS]] のページも r が足りないんですね。diff3 ならローカルでちくちくやれそうです。cvs update みたいにファイルをいきなり書き換えないようですし。一気にやる場合は cvs update を使わないときつそうですが。ありがとうございました。
--[[三浦克介]] &new{2004-05-28 (FRI) 00:04:48};
~[[CVS]]ページは間違いですね。直しておきました。diff3でも、edスクリプトを出力してそれをedに食わせてやったり、--mergeオプションを使うなどすれば、できると思います(manを見ただけで、確かめてはいません)。暇が出来たら、改造PukiWikiをバージョンアップする手順をまとめたページを作ります。
-[[ishii]] &new{2004-05-28 (FRI) 08:21:57};
~CVSコマンドが使えるならば、ローカルにCVSリポジトリーを作成してベンダータグを使ってやる方法もある。参照=>[[PukiWiki本家をローカルcvsで追いかける。:http://ishii.mydns.jp/modules/bwiki/index.php?B-Wiki%2Fcvs]]
-[[名無しさん]] &new{2004-05-28 (FRI) 20:10:18};
~完了したはずだったのですが、すみません。もう1つお願いします。cvs co -r r1_4_2 で持ってきたときに cvs update をしたときに最新版にアップデートされるのではなく、あくまで r1_4_2 のものがアップデート(つまり意味なし)されてしまいます。-r r1_4_3 としてアップデートはできるのですが、本当の最新版にアップデートするにはどのようにしたらよいのでしょうか?ishii さんの方法ならできるのですよね?2つ checkout するとマージになるのですか。へー。#ちなみに diff3 -m (--merge) は標準出力になるようなので1つ1つちくちくやることになりそうでした。形式は cvs update のときと同じようでした。もとい、昔の cvs はこれを利用していたとかなんとか?
-[[名無しさん]] &new{2004-05-28 (FRI) 22:01:32};
~オプション -j の挙動がよくわかりません。http://ne.cs.uec.ac.jp/~koto/memo/cvs.html のサイトによると cvs checkout -r r1_4_2 -r r1_4_3 [改造したもの] のようにすると diff r1_4_2 r1_4_3 を [改造したもの] にあてるというような挙動をするらしいのですが、[改造したもの] が空である ishii さんの例の場合は一体どうなるのですか?とりあえず cvs checkout -j r1_4_2 -j r1_4_3 pukiwiki と r1_4_2 を保存後 cvs update -r r1_4_3 pukiwiki で出来上がったファイルは diff をとると違うもののようでした。-j は diff のように削除はしないということですかね?
--[[ishii]] &new{2004-05-28 (FRI) 23:34:15};
~参照:[[CVS--Concurrent Versions System (in Japanese)>http://www.sodan.org/%7Epenny/vc/cvs-ja.html]]
--[[ishii]] &new{2004-05-28 (FRI) 23:35:23};
~上記サイトの ''13. サード・パーティーのソースの追っかけ'' が参考になる。
--[[名無しさん]] &new{2004-05-29 (SAT) 00:52:21};
~自分がききたい、-j と update のマージの挙動の違いは書かれていないように思います。
-[[名無しさん]] &new{2004-05-29 (SAT) 00:56:40};
~また新たな疑問がでてしまいました。cvs checkout pukiwiki は最新バージョンが落とされるのですよね?しかし、保存された plugin/edit.inc.php が古いものでした(具体的には 1.11) http://cvs.kandix.idv.tw/cgi-bin/viewcvs.cgi/pukiwiki/plugin/edit.inc.php?sortby=date によると 1.3 まででているはずなのですが。
 % cvs status pukiwiki/plugin/edit.inc.php
 ===================================================================
 File: edit.inc.php      Status: Up-to-date
 
    Working revision:    1.11
    Repository revision: 1.11    
 /cvsroot/pukiwiki/pukiwiki/plugin/edit.inc.php,v
 
    Sticky Tag:          (none)
    Sticky Date:         (none)
    Sticky Options:      (none)
質問ばかりでほんとすみません。
--[[名無しさん]] &new{2004-05-29 (SAT) 01:34:32};
~1.3よりも1.11の方が新しいのです。http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/pukiwiki/pukiwiki/plugin/edit.inc.php
--[[名無しさん]] &new{2004-05-29 (SAT) 02:45:40};
~私が見ていたのは別サイトでしたか。そのサイトに行きついたのは RecentDeleted 機能を使いたいと思ったからです。1.4.3 に統合されたと [[PukiWiki/Download/1.4.3]] に書いてあったのに私は使用できなかったので古いバージョンなのかと思ってしまいました。edit.inc.php に [[dev:BugTrack/491]] にあったようなコードが見当たらないのですが、実は統合されていないのでしょうか?(追記:file.php にありました。もう少し調べてみます。ありがとうございました。)
-[[三浦克介]] &new{2004-05-31 (MON) 12:38:52};
~最新リビジョンのタグは、HEAD です(cvs のマニュアルにもちゃんと書いてあ
ります)。cvs update -r HEAD で最新版にアップデートできるはずです。例え
ば、貴方が r1_4_2 をベースに改造した PukiWiki が、mypukiwiki/ にあるも
のとすると、以下のコマンドで最新版にアップデート&マージできると思いま
す。
 cvs -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/pukiwiki co -r r1_4_2 pukiwiki
 cp -R -P -p mypukiwiki/ pukiwiki/
 cd pukiwiki
 cvs update -r HEAD
なお、diff3 を使ってやる場合ですが、foreach や find と組み合わせれば、
自動で全ファイルを処理できると思いますよ。

//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u10. HTML convert time: 0.033 sec.

OSDN