Y's note

Web技術・プロダクトマネジメント・そして経営について

本ブログの更新を停止しており、今後は下記Noteに記載していきます。
https://note.com/yutakikuchi/

Subversionでの管理対象外設定について

実用 Subversion 第2版

実用 Subversion 第2版

管理対象外設定

Subversion(SVN)でプログラムのソースを管理する時に、管理対象外のファイル/ディレクトリとして設定したい時があります。今日はその設定方法の紹介になります。

svn propset

管理対象外にするためにはsvn propsetというコマンドを使います。propsetにてsvn:ignore属性を設定します。 propsetについて詳しい情報が欲しい場合は$ svn help propsetを実行します。以下にFile/Directoryの両方をSVN管理対象外にする設定を記述します。

Fileに対しての設定
  • 文法
  • (例) ignoreFileというファイルをカレントDirectoryにおいてSVN管理対象外とする
$ svn propset svn:ignore -F IgnoreFile .
Directoryに対しての設定
  • 文法
  • (例) IgnoreDirの全ファイルに対してSVN管理対象外とする
$ svn propset svn:ignore * IgnoreDir

設定確認

svn status

管理対象外と設定したFile/Directoryの状態を確認するにはsvn statusコマンドを実行します。使い方の詳細が知りたい場合はsvn help statusを実行します。

  • 文法
    • svn status --no-ignore
$ svn status --no-ignore
?    IgnoreFile   <= IgnoreFileがSVNの管理対象外であることを示しています。

設定編集をeditorで行う

svn propedit

svn propsetで設定したSVNの状態管理をeditorで編集できるモードがあります。コマンドはsvn propeditを実行し、オプションに自分が使用しているeditorを指定する事が出来ます。詳しい情報がしいりたい場合はsvn help propeditを実行します。

  • 文法
  • editor-cmdオプション
  • (例) カレントDirectoryのsvn:ignoreをvimで編集する
$ svn propedit svn:ignore ./ --editor-cmd=vim

設定を消去

svn propdel

svn propsetやpropeditで設定したSVNの状態管理を消去するコマンドがあります。消去したい場合はsvn propdelを実行します。使い方の詳細が知りたい場合はsvn help propdelを実行します。

  • 文法
  • (例) カレントDirectoryのsvn:ignore設定を削除します。
$ svn propdel svn:ignore ./

help参照

svn prop系コマンドは幾つかあるので、以下のコマンドのhelpを参照するとSVNの管理に対して役立つと思います。(svn propdelsvn propeditsvn propgetsvn proplistsvn propsetsvn status) 簡単に表としてまとめると次のようになります。

Command 効果
svn propset svnの管理状態を設定する
svn propdel svn propsetで設定した管理状態を削除
svn propedit svn propsetで設定した管理状態をeditorで編集
svn propget svn propsetで設定した管理状態の属性を取得
svn proplist svn propsetで設定した管理状態の一覧全てを取得
svn status svnの状態を取得