0

アプリをチェックアウトしていました。次に、作業コピーのエクスポートが必要で、完全なコピーを作成してから .svn ディレクトリを削除することになっていましたが、mkdir が失敗し、メインの作業ディレクトリにあるすべての .svn が失われました。

質問: 新しいチェックアウトを行う場合、特定の日付以降に編集されたファイル (新しいチェックアウト ディレクトリ ツリーへのエクスポートから) のみをコピーできるバージョンの find はありますか? さらに重要なことに、これは機能しますか? 注意すべき落とし穴はありますか?

編集されたファイルはすべて .xml または .java 拡張子です。

すべてのファイルをコピーすることを考えていましたが、他の人によって変更されたファイルがあります。

手動で行うことはできますが、面倒な作業の大部分を行う優れたスクリプトがあるかどうかを知りたいと思っていました。

4

2 に答える 2

1

diff および path util を使用することをお勧めします。一番確実に動くと思います。新しいコピーをチェックアウトしてから、2 つの間で diff を実行できます。これにより、新しくチェックアウトしたバージョンに適用できるパッチが作成されます。

diff -r --exclude=".svn" dir/one dir/two > patch.diff

次に、チェックアウト バージョンで、新しいチェックアウトのルートに patch.diff をコピーして実行します。

patch -p1 --dry-run < patch.diff

これで問題がなければ、 を削除する--dry-runと、差分が適用されます。これはやり過ぎかもしれませんが、物事が本当にめちゃくちゃになったときにバッグに入れておくとよいツールです。

于 2013-11-05T19:54:02.197 に答える