2011-11-17 53 views
0

我在一個特定的目錄中有數以萬計的圖像。我從這個目錄中挑選特定的文件,我想要移動到一個子目錄中: 可以SVN mv優化svn複製+刪除?

 
>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

回答

2

不,他們應該完全一樣。按照SVN manual

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

我很驚訝的是,複製+刪除速度較快,但如果是這樣,去了。