2008-09-17 86 views
4

我想這樣做,以便我可以說,像svn mv *.php php-folder/,但它似乎並沒有工作。它甚至有可能嗎?在svn book的相關頁面上沒有提及它。的svn mv *.php php-folder/你可以在subversion mv命令中使用通配符或正則表達式來指定文件名嗎?

輸出示例:
svn: Client error in parsing arguments

能夠移動整個文件系統將是一個加號,所以如果有任何答案可以嘗試包括能力,那將會很酷。

在此先感謝!

回答

7

不確定SVN本身,而​​是要麼你的shell應該能夠擴大這一通配符和svn可以多個源參數,或者你可以在bash shell使用類似

for file in *.php; do svn mv $file php-folder/; done 

,例如。

0

如果你在正確的簽出目錄中,我不明白爲什麼它不起作用?您的shell應該將* .php擴展爲一個php文件列表,並且svn move接受多個來源作爲參數。

+0

你在哪裏看到SVN移動接受多個源的說法? – 2008-09-19 07:19:14

+1

從'svn help move': move(mv,rename,ren):移動和/或重命名工作副本或存儲庫中的某些內容。 用法:移動SRC ... DST 在移動多個源時,它們將作爲DST的子項添加,它們必須是目錄,即 。 – zigdon 2008-09-19 17:15:26

11

svn move一次只移動一個文件。你最好的選擇是一個shell循環。在bash,試試

for f in *.php ; do svn mv $f php-folder/; done 

在Windows中,這是

for %f in (*.php) do svn mv %f php-folder/ 

編輯:與Subversion 1.5開始,svn mv接受多個源文件,所以你的原始命令會工作。 shell循環僅用於svn 1.4.x及更早的版本。 (當然,外殼循環將仍然與1.5工作,它只是沒有必要。)

1

find . -name "*.php" -exec svn mv {} php-folder \;

相關問題