ファイルとフォルダーの変更日を同じにして、ディレクトリ構造をSVNにインポートするにはどうすればよいですか?
-
06-07-2019 - |
質問
Subversionで管理を開始したい大きなソースツリー(> 2 GB、WINCEビルドツリー)があります。これまで、ツリーの複数のコピーを保持し、Beyond Compareを使用して違いを見つけることで、「バージョン管理」を管理してきました。
Subversionを使用する際に見た最後の大きな障害は、ファイルのタイムスタンプをコミット時間に変更することです。これにより、変更を見つけるためにバイナリ比較を行う必要があるため、Beyond Compare比較にかかる時間が大幅に長くなります。
メタデータのバージョン管理 Subversionソースツリーのブランチですが、2006年のコードを現在のsvnソースにマージしようとしないことを望みます。
ありがとう、
デイブ
解決
タイムスタンプをリポジトリに保存する方法を制御するsvn configオプションがあります:
use-commit-times
通常、作業コピーファイルには 前回を反映するタイムスタンプ 彼らはあらゆるプロセスに感動しました それがあなた自身の編集者であろうと、 いくつかのsvnサブコマンド。これは一般的に 開発中の人に便利 多くの場合、システムを構築するため、ソフトウェア 方法としてタイムスタンプを見てください どのファイルが必要かを決定する 再コンパイル。
ただし、他の状況では、 時々作業コピーにいい 反映するタイムスタンプを持つファイル 最後に変更されたとき リポジトリ。 svn exportコマンド 常にこれらを配置します“最終コミット タイムスタンプ”それが生成する木に。 この構成変数を はい、svn checkout、svn update、svn 切り替え、svn revertコマンドは また、最終コミットのタイムスタンプを 彼らが触れるファイル。
BTW、Beyond Compare rocks!上記のすべてを使用します。svndiff、TortoiseMerge、BC2です。 BC2が最も完全です。
他のヒント
Subversionは、比較よりもはるかに速く比較を行います。
tortoiseSVNを使用する場合、外部比較ツールとしてさらに比較を使用することもできます。
クイックチェックの後:作業コピーからファイルをコミットする場合、タイムスタンプ(最終変更時刻)を保持します。更新後(このファイルにさらにリモートで変更を加えない場合)でも、ファイルには最後の変更のタイムスタンプが保持されます。テストはLinuxでSubversionバージョン1.4.6を使用しました。
リモートで変更されたファイルを更新すると、新しいタイムスタンプが取得されます。
したがって、最終変更のタイムスタンプを保持します。
さらに:差分に「比較を超えて」を使用する理由。異なるバージョンを反映するために異なるディレクトリを保持する必要はもうありません。また、Subversionには、リビジョンの組み合わせの差分を準備するための独自の差分機能があります。
「use-commit-times」を使用するかどうかすべてのクライアントm / c設定ファイルでyesに設定する必要がありますか、またはSubversionインストールディレクトリでこれを集中化するオプションがありますか。