2008-09-17 44 views
4

私はsvn mv *.php php-folder/のようなものを言うことができるようにこれをしたいと思っていますが、動作していないようです。それも可能ですか?それについての言及はsvn bookの該当するページには記載されていません。 svn mv *.php php-folder/Subversionのmvコマンドで、ワイルドカードまたは正規表現を使用してファイル名を指定できますか?

出力例:
svn: Client error in parsing arguments

は、ファイルシステム全体を移動できることはプラスになりますので、与えられたすべての答えは、その能力を含めるように試みることができるならば、それはクールだろう。

ありがとうございます!

答えて

7

自体のsvnわからないが、いずれかのシェルは、複数のソースの引数を取ることができるワイルドカードとSVNを拡張することができるはずですか、たとえば、bashシェルで

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

ようなものを使用することができます。

0

正しいチェックアウトされたディレクトリにいる場合、なぜ動作しないのでしょうか?あなたのシェルは* .phpをphpファイルのリストに展開し、svn moveは複数のソースを引数として受け入れるべきです。

+0

を移動する複数のソース引数を受け入れますか? –

+1

'svn help move': move(mv、rename、ren):作業コピーまたはリポジトリ内の何かを移動したり名前を変更したりします。 用法:SRCを移動... DST 複数のソースを移動する場合は、ディレクトリでなければならないDSTの子として追加されます( )。 – zigdon

+0

多くの人がまだアップグレードしていないSubversion 1.5の新機能です。明らかに、stopinemanはそれらの1つである、または彼は最初に誤りを得なかったであろう。 – cjm

11

svn moveは、一度に1ファイルずつ移動します。あなたの最善の策はシェルのループです。あなたのオリジナルのコマンドが動作しますので、svn mvは、複数のソースファイルを受け入れ、Subversionの1.5以降で:バッシュでは、Windows上で

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

を試してみてください、それは

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

編集します。シェルループは、svn 1.4.x以前でのみ必要です。 (もちろん、シェルループはまだ1.5で動作します。それだけの必要はありません。)あなたがSVNご覧ください

+0

これはファイル階層全体を走査するために簡単に拡張できますか?これはgitが簡単に行うことですか? –

1

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

関連する問題