Tech エントリー[調査・情報収集]

TortoiseSVN で Subversion のリビジョン間の差分ファイルを抽出 (エクスポート)

あとで読む コメント (0) トラックバック (1) Atom/RSS

差分だけを収集して納品とか良くある。そこでタイトルの問題にぶち当たって調べてみた。

複数のフォルダやファイルの差分を一覧化したり、比較してくれる個別のソフトウェアはいくつかある。

Linux 系であれば diff コマンドって選択肢もあるか。

diff -r $old_dir $new_dir

ちょっと用途は違うけど DSync なんてのもあった。

Subversion でファイルを管理していれば容易にできるはず、じゃないとバージョン管理システムとしてダメダメってことになる。

ただ、マニュアルを読んだだけだと解決策は見つからなくって...
逆にできないんじゃない ? という気になってきた。

マニュアルを見ると以下のように書かれている。

フォルダ間の差分

TortoiseSVN の内蔵ツールは、ディレクトリ階層の比較をサポートしていません。しかし、その機能をサポートしている外部ツールを使えばディレクトリの比較を行えます。外部 Diff/Merge ツール項 で利用できるツールをご紹介します。

差分の参照

Subversion の svn コマンドなら色々と細かいことができたはず。異なるディレクトリの差分とか取れなかったら意味ないし。

e.g. trunk と branches と比較やマージって必須だし。

(脱線) 外部ツールについては以下を参照すると、いくつかリストアップされてる。

数日空けて再度挑戦、調べてみたら「あった」

TortoiseSVNであるリビジョンからあるリビジョンまでの間に変更があったファイルだけをエクスポート

  1. 作業コピーのルートのディレクトリを右クリックして、「TortoiseSVN」メニューから「ログを表示」。
  2. ログが出るので、比較したいリビジョンを選ぶ。Ctrlキーを使って、2つ選ぶ。3つ以上選ぶとダメ。
  3. 右クリックして、「リビジョンを比較」。
  4. 比較結果が出るので、エクスポートしたいファイル選択する(通常は全部選択すると思う)。
  5. 右クリックして、「選択をエクスポート」。
  6. エクスポート先を指定して、できあがり。

むぅもぉ.jp

サードパーティのツールも発見。Java で開発された「やりたいこと」そのもの。

im-svn-diff-exporter

Subversionで管理されているファイルの差分を取得するツールです。

ある2点のリビジョン間の差分を抽出し、差分ファイルの一覧 または 差分ファイルのエクスポートを行います。

OPEN INTRA-MART - im-Tools プロジェクト

更によくよく調べると公式のマニュアルにも関連する記述が...

差分の参照 - 第5章 日常操作ガイド

別のブランチ・タグとの差分

(ブランチで作業していて) トランクの変更点を見たい場合や、(トランクで作業していて) 指定したブランチの変更点を見たい場合、エクスプローラのコンテキストメニューを利用できます。Shift キーを押したままファイルを右クリックし、TortoiseSVN → URL と差分 を選択してください。続くダイアログでは、ローカルファイルと比較するリポジトリの URL を指定してください。

2つのツリー、おそらく2つのタグや、ブランチ・タグとトランクを選択して diff を取るのに、リポジトリブラウザも利用できます。そこでのコンテキストメニューには、リビジョンの比較 があり、これで比較できます。フォルダの比較項 をご覧ください。

以前のリビジョンからの差分

特定のリビジョンと作業コピーの差分を取るのなら、リビジョンログダイアログを使用してください。関心のあるリビジョンを選択し、コンテキストメニューから 作業コピーと比較 を選択してください。

最後にコミットしたリビジョンと、変更されていないと見なせる自分の作業コピーとの差分を見る場合、単にファイルを右クリックし、TortoiseSVN → 以前のバージョンと差分 を選択してください。ここでは、(作業コピーに記録されている) 最後にコミットした日時と、作業ベースとの diff を実行します。これにより、現在の作業コピーにある状態に持っていった最後の変更点を参照できます。作業コピーにあるものよりも新しい変更点は表示されないでしょう。

2 つのリビジョン間の差分

すでにコミットした 2 つのリビジョン間の差分を取るのなら、リビジョンログダイアログを使用し、比較したい 2 つのリビジョンを選択して (通常 Ctrl を使用して) ください。それから、コンテキストメニューから リビジョンを比較 を選択してください。

フォルダのリビジョンログから行った場合、リビジョン比較ダイアログが現れ、フォルダにある変更されたファイルの一覧を表示します。フォルダの比較項 をご覧ください。

TortoiseSVN ガイドブック

以下を読んでおくと更に良いかも。

リビジョンログダイアログ - 第5章 日常操作ガイド - TortoiseSVN ガイドブック

あとで読む コメント (0) トラックバック (1) Atom/RSS
投稿: 2008年03月13日 12:39 / 最終更新: 2008年03月13日 14:30

» ウェブアプリケーションのテスト (TDD)
« Perl でいまどきな CGI 実装

タグ (関連キーワード)

トラックバック


subversionとtracで差分ファイル一式を作成
lilylabo - d3blog2009年5月11日 20:26
よくある、アップデート時につくる差分ファイル一式を簡単に作る方法を発見。 tracの中で行うのだが、 Diffの制作(変更箇所を見る)を行って、画...

コメント (投稿する)

コメント投稿





エントリー検索



最近のエントリー




テクノラティプロフィール

フィードメーター - Jamz Update (all blogs)

スカウター : Jamz

awasete.oshira.se

あわせて読みたい

track feed
SEO対策 | ブログパーツ


イベント情報

LL魂
08月04日(土)開催 参加予定


クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.

テクノラティプロフィール