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

Subversion超簡単作業手順

subversion linux

ローカルでSubversionを使用する為の極々簡単な作業手順。
リモートサーバを参照する方法としてはapachessh等を用いた方法がありますが、手順が複雑になるのでここでは割愛。

方針&前提

  • レポジトリを作成する場所
    • /home/svn_repos/project
  • インポートするソース
    • /home/usr/app:アプリケーションメイン
    • /home/lib/app_mod:アプリケーションに依存するモジュール
  • モジュール毎に枝版管理する方式を採用
    • trunk:最新バージョン
    • tags:タグバージョン
    • branches:派生バージョン
  • app_modはappに依存するモジュールの為、同じレポジトリで管理するものとする

[/home/svn_repos/project] :レポジトリトップ
 ├ app         :アプリケーションメイン
 │ ├ trunk
 │ ├ tags
 │ └ branches
 └ app_mod       :アプリケーションに依存するモジュール
   ├ trunk
   ├ tags
   └ branches

#> svn help
#> svnadmin help
#> svnadmin help <サブコマンド>

レポジトリ作成予定のディレクトリを作成

#> mkdir /home/svn_repos/project

レポジトリを作成

#> svnadmin create /home/svn_repos/project

レポジトリ内にディレクトリ作成

必ずしも必要な作業ではないが、枝版管理等行いたい場合は以下の様にサブディレクトリを作成する。

#> svn mkdir /home/svn_repos/project/app
#> svn mkdir /home/svn_repos/project/app_mod
#> svn mkdir /home/svn_repos/project/app/trunk
#> svn mkdir /home/svn_repos/project/app/tags
#> svn mkdir /home/svn_repos/project/app/branches
#> svn mkdir /home/svn_repos/project/app_mod/trunk
#> svn mkdir /home/svn_repos/project/app_mod/tags
#> svn mkdir /home/svn_repos/project/app_mod/branches

ソースをインポートする

レポジトリにバージョン管理するソースファイルを登録する。

#> svn import /home/usr/app/ file:///home/svn_repos/project/app/trunk
#> svn import /home/lib/app_mod/ file:///home/svn_repos/project/app_mod/trunk

作業用ディレクトリにチェックアウトする

ローカルの任意のディレクトリへレポジトリの内容をダウンロードする。

  • 作業用ディレクトリ
    • app:/home/work/app
    • app_mod:/home/work/app_mod
#> svn checkout file:///home/svn_repos/project/app/trunk /home/work/app
#> svn checkout file:///home/svn_repos/project/app/trunk /home/work/app_mod

現在の作業内容を確認する

作業ディレクトリへ移動するか、パスを指定する。

#> svn status <作業ディレクトリのパス>

ステータスの見方はsvn help statusで参照のこと。

新しく作成したファイル/ディレクトリをバージョン管理下に追加する

#> svn add <パス>

バージョンバージョン管理下のファイル/ディレクトリを削除する。

#> svn del <パス>

無視リストの設定

拡張子がbak、tmp等の一時ファイルがsvn statusに出てくるのがうっとうしい場合は、configファイルでglobal-ignoresを設定する方法が有効。

現在の作業内容をコミットする

ディレクトリが指定された場合は配下のの変更ファイルすべてコミット対象となる

#> svn commit <作業ディレクトリへのパスもしくは変更ファイルへのパス>