3

私のプロジェクトには、25 個の変更されたファイルがあります。これらのファイルのうち 24 個を SVN リポジトリにコミットする必要があります。コミットしたくない 1 つのファイルはまだ完成していないので、後日コミットします。

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

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

それはちょっとばかげていて非効率的です。これに代わる簡単な方法はありますか?すべてをコミットして、特定のファイルを除外することはできますか?

これには派手なbashスクリプトが必要ですか?

4

3 に答える 3

2

単一のトランザクションで必要な場合は、次のようにしてください。

svn commit `svn status | sed -n -e '/file_you_dont_want/!s/^.......//p'`
于 2012-04-05T16:22:30.987 に答える
0

チェンジリストを使用できます:

svn cl _listName_ -R *
svn --unexpected_filenames を削除
svn commit --cl _listName_
于 2015-05-04T12:06:03.077 に答える
0

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

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

ls の出力を grep を介してパイプすることによってフィルターをまとめるか、ループ内に if ステートメントを配置するかを選択できます。私はおそらく最初に行きます。

于 2012-04-05T16:11:32.933 に答える