2012-04-05 12 views
3

私のプロジェクトには、25の修正されたファイルがあります。これらのファイルのうち24個をSVNリポジトリにコミットする必要があります。コミットしたくない1つのファイルはまだ完成していないので、後でコミットします。SVN方法コマンドラインのみを使用して、1つを除くすべてのファイルをコミットしますか?

私はSVNコミットを行うためにLinuxサーバー上でリモートシェルを使用しています。私は上記を行う方法を知っている唯一の方法は、入力することです:

# svn ci file1 file2 file3 file4........... file24 

それはとんでもないと非効率的なのようなものです。これに代わる簡単な方法はありますか? すべてをコミットすることはできますか?特定のファイルを除外することを選択できますか?

これにはファンシーbashスクリプトが必要ですか?

+0

HMを、私が持っている唯一のアイデアがあります。コミットしたくないファイルを一時的に無視し、他のすべてをコミットしてから、無視してください。しかし、ファイルが既にリポジトリにある場合、ignoreはそのようには動作しないと思います... – dowhilefor

+0

私はそれについても考えましたが、それを行うには愚かな方法のようです。 –

答えて

0

はい。引数として渡すものを除いて、特定のディレクトリ内のすべてのファイルをコミットするbashスクリプトを書くことができます。

for x in `ls` 
do 
    svn ci $x 
done 

あなたがgrepを通過LSの出力をパイプによって一緒にフィルタを置くことを選択するか、ループ内でif文を置くことができ、次のいずれかのスクリプトのコアがループです。私はおそらく最初に行くだろう。

2

あなたはこのような何かしようと、単一のトランザクションで、それが必要な場合:

svn commit `svn status | sed -n -e '/file_you_dont_want/!s/^.......//p'` 
+0

このような単純なことができないということは、なぜ多くの人々がSubversion – Lambart

0

あなたはチェンジ使用することができます。

 
svn cl _listName_ -R * 
svn --remove unexpected_filenames 
svn commit --cl _listName_ 
関連する問題