У меня есть десятки тысяч изображений в определенном каталоге. У меня есть определенные файлы из этого каталога, которые я хочу переместить в подкаталог:
>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 "<em>.png"| \
grep -Ev "(_retina|_hd|_iphone)"| \
xargs -I CMD svn cp "CMD" "tmp/CMD"
>find . -type f -name "</em>.png"| \
grep -Ev "(_retina|_hd|_iphone)"| \
xargs -I CMD svn rm "CMD"
Я сначала svn cp
все нужные изображения, которые, кажется, пролетают очень быстро. Затем я запускаю svn rm
, чтобы удалить исходные изображения, что также происходит очень быстро. Тогда я совершаю.
Есть ли существенное преимущество в использовании svn mv
при выполнении массовых перемещений, подобных этому, по сравнению с использованием двойного svn cp
затем svn rm
?