我在特定目录中有成千上万的图像。我已经从这个目录中手工挑选了我想要移动到子目录中的特定文件:
>find . -type f -name '*.png'| \
grep -Ev "(_retina|_hd|_iphone)"
这导致成千上万(而不是成千上万)的图像,这就是我想要的。我想将这些图片从./
移到./tmp/
。
This帖子询问如何在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
相比,是否有任何主要优势?
答案 0 :(得分:2)
不,它们应该完全一样。根据SVN manual:
This [mv] command is equivalent to an svn copy followed by svn delete
我很惊讶复制+删除速度更快,但如果是,请选择它。