Subversion: 基本コマンド操作

以前Mac bookでSubversionを使用したときのメモ(備忘録用)。
(今後使い込んだ際に改めて書きなおそうかな。。)

リポジトリの作成

データする格納ディレクトリをSubversionに登録する。

svnadmin create <ディレクトリのパス名>

準備用のディレクトリを作成

  • インポートするフィアルが存在するディレクトリに移動。
  • リポジトリにプロジェクトのファイルをインポート(リポジトリに追加する)する。
  • Firstrunプロジェクトとする。
  • -mオプションで任意のメッセージを関連付けられる。

インポートの一般式

svn import -m “<コメント>” <ファイルが入っているディレクトリのパス> <リポジトリのパス>

カレントディレクトリ内のフィアルをインポートしたことになる。

チェックアウト

リポジトリからローカルに最新の変更を受け取る。

チェックアウトの一般式

$ svn co <リポジトリのパス> <コピー先ディレクトリのパス>

プロジェクトがローカルで変更が行われたか否かを確認。

Mはローカルで変更されていて、その変更がリポジトリにコミットされていない。
プロジェクト内のファイルの差分を確認。

リポジトリの更新(コミット)

リビジョン番号は変更したファイル数にかかわらずリポジトリ全体に及ぶ

コミットの一般式

作業ディレクトリ内で

firstrun> svn commit -m “<コメント>”

リポジトリが実際に更新されたかどうか確認する。

変更の詳細を出力。

$ svn log のみだと最新の変更は出てこない。
また、作業ディレクトリ以外でコマンドを実行すると、

のようにエラーとなる。

競合の発生

2人目のユーザの作業ディレクトリをfirstrun02とする。

作業ディレクトリのファイルにチェックアウトしたものより新しいバージョンがあるか否かを確認。

*はリポジトリ内に更新済みのものが存在するかどうか、
すなわちローカルにあるフィアルは古いですよ、ということ。
ローカルのコピーとリポジトリ内の最新のリビジョンを比較するには、

普通のdiffではチェックアウトされたリビジョン、ここではr2としか比較しないので、変更点を検出できない。
作業ディレクトリのファイルを更新して最新のリビジョンにマージするには、

Uはフィアルが更新されたことを示している。