[cvs-jp-info 345] Re: FW: How to copy the history and tag info from one branch to another

Zurück zum Archiv-Index

KOIE Hidetaka ( 鯉江英隆 ) hide****@koie*****
2003年 12月 14日 (日) 01:51:53 JST


  Message-Id: <002601c3c077$80752d30$8119fea9 @ mwatana21>
  Date:       Fri, 12 Dec 2003 00:16:36 -0600
  From:       <m2_2m****@mcn*****>
  Subject:    [cvs-jp-info 343] FW: How to copy the history and tag in..

  | こんにちは、渡邊です。
  | 
  | CVSで、ブランチの修正内容を他のブランチにマージする際に、修正履歴やタグ
  | の
  | 情報をそのままマージ先のブランチにコピーしたいとおもっているのですが、
  | なにかいい方法はありませんか?

いい方法は思いつきせんが、修正履歴くらいは
スクリプトを組んで全自動でやらせることできると思います。

共通のタグtag0で2つのブランチbranch1,branch2が生えていると想定します。
          ______ branch1
         /
    ____/tag0
        \
         \__ branch2

擬似コード
    cd workdir
    cvs checkout -rbranch2 module
    cd module
    branch1で修正があったファイルをしらべる: cvs diff -rtag0 -rbranch1
    foreach file
        last_revision = tag0
        foreach revision in (tag0, branch1の先端]
            修正履歴をとってくる:cvs log -rrevision file
            修正をマージする: cvs update -j$last_revision -jrevision file
          commit:
            cvs commit -m "修正履歴" file
            if commit failure
                error "マージに失敗; たぶんコンフリクトしてます"
                editor file
                goto commit;
            end
        end
    end

--
鯉江英隆 <hide****@koie*****>
        
        



CVS-JP-info メーリングリストの案内
Zurück zum Archiv-Index