読者です 読者をやめる 読者になる 読者になる

Subversionで指定したファイルだけコミットする方法。

Shellを使ってビシキマだぜ!

# 下のコマンドでChangelistを作る(実行されるコマンド:svn cl hogefuga hoge1.txt hoge2.txt hoge3.txt)
## 下は、新規追加(A)されたファイルのみを対象としている
svn cl hogefuga $(svn status . | grep '^A' | awk '{print $2}' | while read line
do
  echo -n $line" "
done)
  # A [hogefuga] hoge1.txt
  # A [hogefuga] hoge2.txt
  # A [hogefuga] hoge3.txt

# Changelistが作成できたか確認する
svn status
  # M       foo.txt
  # M       bar.txt
  # 
  # --- Changelist 'hogefuga':
  # A       hoge1.txt
  # A       hoge2.txt
  # A       hoge3.txt

# Changelistだけコミットする
svn commit --changelist hogefuga
  # Sending        hoge1.txt
  # Sending        hoge2.txt
  # Sending        hoge3.txt
  # Transmitting file data .
  # Committed revision 1.

ただ、Changelistだとディレクトリそのものを含めることができない。なにか方法あるのかな?


以下、参考にしたサイト。
Subversionでファイルを分けてコミットする - kk_Atakaの日記