質問箱/2186

カテゴリ
サマリ改造されたPukiWikiのバージョンアップ
バージョン1.4.2
投稿者名無しさん
状態完了
投稿日2004-05-26 (WED) 03:52:31

質問

質問箱/312 に似たような質問はあったのですが、結局どうしたらよいのかわからなかったので質問します。

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

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

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

ずばり手動なんですか?よろしくお願いします。

回答

  • 三浦克介 2004-05-26 (WED) 09:16:52

    cvsのupdateというコマンドを使えば、半自動でマージできますよ。ここで言うcvsとは、CVSサイトのことではなく、cvsというプログラムです。無い場合は、インストールしてください。改造の度合いにもよりますが、大部分は自動でマージしてくれます。変更箇所が重なっていてマージできない部分は、両方の(CVSの最新版と貴方の改造)のソースが示されます。その部分は、手動でマージする必要があります。まずは、cvsの勉強をしてみて下さい。CVS も参考に。

  • 名無しさん 2004-05-26 (WED) 17:13:38

    ほうほう、ありがとうございます。

  • 名無しさん 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/ 情報だけ取得する方法がありましたらお願いします)。
  • 名無しさん 2004-05-26 (WED) 20:11:28

    -r 1.4.2 でできました。と思ったら CVS/Entries の中身は D/plugin//// だけでした。-r って個々のファイルのバージョンを指定しているだけでしょうか?どのようにして pukiwiki1.4.2 の CVS 情報を得るのか引き続きよろしくお願いします。

  • 名無しさん 2004-05-27 (THU) 12:33:26

    というかそもそもローカルに2つのファイルをマージするようなプログラムってないのですかね?

  • 三浦克介 2004-05-27 (THU) 19:22:56

    タグが違います。-r r1_4_2 です。ローカルのコマンドでやる方法としては、diff3 でできるはずです(やったことないですけど)。

  • 名無しさん 2004-05-27 (THU) 23:40:13

    ということは CVS のページも r が足りないんですね。diff3 ならローカルでちくちくやれそうです。cvs update みたいにファイルをいきなり書き換えないようですし。一気にやる場合は cvs update を使わないときつそうですが。ありがとうございました。

    • 三浦克介 2004-05-28 (FRI) 00:04:48

      CVSページは間違いですね。直しておきました。diff3でも、edスクリプトを出力してそれをedに食わせてやったり、--mergeオプションを使うなどすれば、できると思います(manを見ただけで、確かめてはいません)。暇が出来たら、改造PukiWikiをバージョンアップする手順をまとめたページを作ります。

  • ishii 2004-05-28 (FRI) 08:21:57

    CVSコマンドが使えるならば、ローカルにCVSリポジトリーを作成してベンダータグを使ってやる方法もある。参照=>PukiWiki本家をローカルcvsで追いかける。

  • 名無しさん 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 はこれを利用していたとかなんとか?

  • 名無しさん 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 2004-05-28 (FRI) 23:34:15

      参照:CVS--Concurrent Versions System (in Japanese)

    • ishii 2004-05-28 (FRI) 23:35:23

      上記サイトの 13. サード・パーティーのソースの追っかけ が参考になる。

    • 名無しさん 2004-05-29 (SAT) 00:52:21

      自分がききたい、-j と update のマージの挙動の違いは書かれていないように思います。

  • 名無しさん 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)
    質問ばかりでほんとすみません。
    • 名無しさん 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

    • 名無しさん 2004-05-29 (SAT) 02:45:40

      私が見ていたのは別サイトでしたか。そのサイトに行きついたのは RecentDeleted 機能を使いたいと思ったからです。1.4.3 に統合されたと PukiWiki/Download/1.4.3 に書いてあったのに私は使用できなかったので古いバージョンなのかと思ってしまいました。edit.inc.php に dev:BugTrack/491 にあったようなコードが見当たらないのですが、実は統合されていないのでしょうか?(追記:file.php にありました。もう少し調べてみます。ありがとうございました。)

  • 三浦克介 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 と組み合わせれば、 自動で全ファイルを処理できると思いますよ。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-12 (火) 03:40:56
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.293 sec.

OSDN