ログイン
検索
メインメニュー
フォーラム一覧   -   トピック一覧
   astah*の使い方
     簡易比較やマージを単体で使いたい
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 トピック
kamamoto
投稿日時: 2009-9-14 9:16
新米
登録日: 2009-9-1
居住地:
投稿: 2
Re: 簡易比較やマージを単体で使いたい
差分比較はできませんか。残念です。
簡単マージは、以下の方法でできるようになりました。

1.TortoisesSVNのマージツール設定で拡張子.judeに以下のコマンドを追加する。
runEasyMerge.bat %mine %theirs


2.TortoisesSVNからコールされるrunEasyMerge.batを作成する。

runEasyMerge.batの大まかな内容は、

rem 第二引数(%theirs)は拡張子がr1とかr2になるので、tmp.judeへコピーする。
copy %2 tmp.jude >NUL
java EasyMerge %1 tmp.jude
rem テンポラリファイルの削除する。
if exist tmp.jude del tmp.jude >NUL


3.runEasyMerge.batからコールされるJUDEのAPIを使用するEasyMerge.javaを作成しコンパイルする。

EasyMerge.javaの大まかな内容は、

public class EasyMerge {
    public static void main(String[] args) {
        if (args.length != 2) {
            System.err.println("引数エラー : 引数が間違っています\r\n");
            System.err.println("使い方: java easyMerge input.jude merge.jude");
            return;
        }
        String inputFile = args[0];
        String mergeFile = args[1];
        ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();
        // プロジェクトのオープン
        prjAccessor.open(inputFile);
        // 参照プロジェクトのパスを取得
        String strReference[] = prjAccessor.getReferenceProjectPaths();
        // 参照プロジェクトの解除
        for ( int n = (strReference.length - 1); n >= 0 ; --n ) {
            String strRef = strReference[ n];
            prjAccessor.clearReferenceProject( strRef );
        // プロジェクトのマージ
        prjAccessor.easyMerge(mergeFile, false);
        // 参照プロジェクトの追加
        for ( int n = 0; n < strReference.length; n++ ) {
            String strRef = strReference[ n];
            prjAccessor.addReferenceProject(  strRef );
        }
        // プロジェクトのセーブ
        prjAccessor.saveAs(inputFile); 
        prjAccessor.close();
    }
}


このようにJUDEのAPIを使う方法でも良いので差分を表示する機能の実現をお願いします。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   簡易比較やマージを単体で使いたい kamamoto 2009-9-1 13:57
     Re: 簡易比較やマージを単体で使いたい zhouyi 2009-9-2 15:51
     » Re: 簡易比較やマージを単体で使いたい kamamoto 2009-9-14 9:16
         Re: 簡易比較やマージを単体で使いたい zhouyi 2009-9-15 10:27

投稿するにはまず登録を