リビジョン管理にSVNを使用するプロジェクトにLabVIEW(8.6)を使用していますが、ブランチする必要があるところまで来ました。トランクに必要な変更をブランチに加える必要があることはすでにわかっています。特にLabVIEWに関して、SVNのブランチからバイナリファイルをマージする方法または方法はありますか?
それとも、ブランチとトランクの両方で更新を行う必要がありますか?
LabVIEW は、バージョン 8.5 以降のマージをサポートしています。これを Tortoise SVN で設定するには、Tomi Maila によるこのブログ投稿を参照してください。
私はこれを試したことはありませんが、比較的スムーズに進んだと聞きましたが、メイン コードではなくサブ VI の 2 つのブランチの違いを可能な限り維持しようとします。
トン
ここでの最善の解決策は、LVMerge ツールを直接 Tortoise SVN に統合することです。このようにして、SVN リポジトリ内のさまざまなバージョン管理ファイルのグラフィカルなマージ操作を実行できます。
TortoiseSVN での LVmerge LabVIEW マージ ツールの使用に関する記事には、これを行うためのすべてのセットアップ手順が記載されています。
バージョン間の重要な違いのみを簡単に識別できるように、LV マージ内で設定を少しカスタマイズすることが重要です (IE は、フロント パネルやブロック ダイアグラムなどで再配置されただけで変更されていない要素を無視します)。
あなたの質問には本当に2つの質問があるようです:
バイナリ ファイルを Subversion でブランチおよびマージすることはできますか? はい。
Subversion は、ファイルがテキストであることを認識している場合にのみ、コンテキストに応じた行ごとのマージを行います。これは基本的svn:mime-type
に、明示的に、または を使用して、ファイルにプロパティを設定したことを意味しますauto-props
。バイナリ ファイルで Subversion を使用してもまったく問題はありません。
LabVIEWファイルがテキストではなくグラフィカルであることを考慮して、バージョン間の意味のある差分を取得し、マージの競合を処理することはできますか? はい。
Ton が指摘したように、LV はグラフィカルなマージを行うことができます (私はそれについてほとんど経験がありません)。LVDiffなどのサードパーティ製ツールもあり、以前のバージョンの LabVIEW でこれを行うことができます。