0

特定のディレクトリ内に何万もの画像があります。このディレクトリから、サブディレクトリに移動したい特定のファイルを厳選しました。

>find . -type f -name '*.png'| \
 grep -Ev "(_retina|_hd|_iphone)"

これにより、(数万ではなく)数千の画像が生成されます。これが私が望んでいることです。./それらの画像をからに移動したい./tmp/

この投稿では、まだを使用していますが、SVN内でこれらの画像をまとめて移動する方法を尋ねていますsvn mv。これにより、画像が1つずつ移動し、非常に遅くなります。

>find . -type f -name "*.png"| \
 grep -Ev "(_retina|_hd|_iphone)"| \
 xargs -I CMD svn mv "CMD" "tmp/CMD"

svnはファイルのリビジョン履歴を。で保持するためsvn cp、これはより高速であるように見えます。

>find . -type f -name ".png"| \
 grep -Ev "(_retina|_hd|_iphone)"| \
 xargs -I CMD svn cp "CMD" "tmp/CMD"
>find . -type f -name ".png"| \
 grep -Ev "(_retina|_hd|_iphone)"| \
 xargs -I CMD svn rm "CMD"

私は最初にsvn cpすべての必要な画像を表示しますが、これは非常に速く飛んでいくようです。次にsvn rm、元の画像を削除するために実行します。これも非常に高速です。それから私はコミットします。

svn mvデュアルを使用するのではなく、このようなバルク移動を行うときsvn cpに使用することに大きな利点はありますsvn rmか?

4

1 に答える 1

2

いいえ、まったく同じである必要があります。SVNマニュアルによると:

This [mv] command is equivalent to an svn copy followed by svn delete

コピーと削除の方が速いことに驚いていますが、もしそうなら、それを試してみてください。

于 2011-11-17T22:52:42.550 に答える