3

Subversion で管理を開始したい大きなソース ツリー (> 2 GB、WINCE ビルド ツリー) があります。この時点まで、「バージョニング」は、ツリーの複数のコピーを保持し、Beyond Compare を使用して相違点を見つけることによって管理されてきました。

Subversion を使用する際の最後の大きな障害は、ファイルのタイムスタンプがコミット時刻に変更されることです。これにより、変更を見つけるためにバイナリ比較を実行する必要があるため、Beyond Compare の比較に時間がかかります。

Subversion ソース ツリーのメタデータ バージョニングブランチを見てきましたが、2006 年のコードを現在の svn ソースにマージするのは避けたいと思います。

ありがとう、

デイブ

4

4 に答える 4

2

リポジトリにタイムスタンプを保存する方法を制御する svn config オプションがあります。

use-commit-times

通常、作業コピー ファイルには、自分のエディターであれ、svn サブコマンドであれ、何らかのプロセスが最後に触れた時刻を反映するタイムスタンプがあります。これは一般に、ソフトウェアを開発する人々にとって便利です。なぜなら、ビルド システムは、どのファイルを再コンパイルする必要があるかを判断する方法としてタイムスタンプを参照することが多いからです。

ただし、他の状況では、リポジトリで最後に変更された時刻を反映するタイムスタンプが作業コピー ファイルにあると便利な場合があります。svn export コマンドは、生成するツリーに常にこれらの「最終コミット タイムスタンプ」を配置します。この構成変数を yes に設定すると、svn checkout、svn update、svn switch、および svn revert コマンドも、それらが触れるファイルに最終コミットのタイムスタンプを設定します。

ランタイム構成エリア構成オプションを参照してください

ところで、Beyond Compare は素晴らしいです! 言及されているもの、svn diff、TortoiseMerge、および BC2 のすべてを使用します。BC2 が最も完全です。

于 2008-11-04T13:10:14.387 に答える
0

簡単なチェックの後:作業コピーからファイルをコミットすると、そのファイルはタイムスタンプ(最終変更時刻)を保持します。更新後も(このファイルをさらにリモートで変更することなく)、ファイルは最後の変更のタイムスタンプを保持します。テストは、Subversionバージョン1.4.6のLinuxで行われました。

リモートで変更されたファイルを更新すると、新しいタイムスタンプが取得されます。

したがって、最終変更のタイムスタンプを保持します。

その上:diffに「BeyondCompare」を使用する理由。異なるバージョンを反映するために異なるディレクトリを保持する必要がなくなります。また、subversionには、リビジョンの組み合わせに対してdiffを準備する独自のdiff機能があります。

于 2008-11-04T12:49:36.753 に答える
0

すべてのクライアント m/c 構成ファイルで「use-commit-times」を yes に設定する必要があるかどうか、または Subversion インストール ディレクトリでこれを一元化するオプションはありますか?

于 2012-09-21T15:23:29.623 に答える
0

Subversion は、Beyond Compare よりもはるかに速く比較を行います。

tortoiseSVN を使用する場合は、比較を超えて外部 Diff ツールとして使用することもできます。

于 2008-11-04T12:39:55.837 に答える