0

我在特定目录中有数万张图像。我已经从该目录中挑选了要移动到子目录中的特定文件:

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

这会产生数千(而不是数万)图像,这正是我想要的。我想将这些图像从 移动././tmp/.

这篇文章询问如何在 SVN 中整体移动这些图像,尽管它仍在使用svn mv. 这将一张一张地移动图像,并且非常慢:

>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 回答