[subversion] ソースの管理

http://develop.ddo.jp/tech/index/PHP/Symfony/documentation/Symfony101/%A5%D7%A5%ED%A5%B8%A5%A7%A5%AF%A5%C8%BA%EE%C0%AE#mfd81c7f

(以下引用、一部変更してます)

一度アプリケーションをセットアップしてしまえば、ソースのバージョン管理を始めることが推奨されます。Subversionが推奨されますが、 symfonyは本来CVSをサポートしています。次のサンプルはSubversionで管理するためのコマンドを示しています。そしてサーバーに Subversionがインストールされており、プロジェクトのための新しいリポジトリが作成されることを前提としています。Windowsユーザーに とってTortoiseSVNというSubversionクライアントが推奨されます。ソースバージョン管理とコマンドのより多くの情報のために、 Subversionのドキュメントを参照してください。

下記の例は$SVNREP_DIRという変数が環境変数として定義されていることを想定しています。もし定義していないのであれば$SVNREP_DIRの場所をリポジトリの確かなロケーションに置き換える必要があるでしょう。

$ svnadmin create $SVNREP_DIR/myproject

そして、リポジトリの基本構造(レイアウト)となるtrunk,tags,branchesが次のかなり長いコマンドで作成されます。

$ svn mkdir -m "layout creation" \
file:///$SVNREPOS/myproject/trunk \
file:///$SVNREPOS/myproject/tags \
file:///$SVNREPOS/myproject/branches

これは最初のリビジョンになります。そして、キャッシュとログなどのテンポラリファイルを除いたプロジェクトのファイルをimportしなくてはなりません。

$ cd /home/steve/myproject
$ rm -rf cache/*
$ rm -rf log/*
$ svn import -m "initial import" . file:///$SVNREPOS/myproject/trunk

次のように入力することでコミットしたファイルをチェックすることができます。

$ svn ls file:///$SVNREPOS/myproject/trunk/

どうやらよさそうです。さて、SVNリポジトリは全てのプロジェクトファイルのリファレンスバージョン(履歴)を持っています。これは /home/stece/myprojectディレクトリはリポジトリを参照する必要があるということです。最初にmyprojectディレクトリをリ ネームすることによって-全てがうまく動くのであればすぐに消してよいのですが-新しいディレクトリにリポジトリからcheckoutしましょう。

$ cd /home/steve
$ mv myproject myproject.origin
$ svn co file:///$SVNREPOS/myproject/trunk myproject
$ ls myproject

そうです。これで/home/steve/myproject/にあるファイルを動作させることができ、リポジトリに対してcommitすることができます。今となっては使わないmyproject.originディレクトリ(元のオリジナルのディレクトリ)は消してきれいにすることを忘れないでください。

もうひとつセットアップするためにすることが残っています。リポジトリに対してワーキングディレクトリのcommitを行ったときに、キャッシュや ログディレクトリなどの望まないいくつかのファイルがコピーされるかもしれません。それで、プロジェクトのためにSVN用の無視するファイルリストを指定 する必要があります。cache/やlog/ディレクトリに再び完全にアクセスすることができるように設定する必要があります。そしてSVNはアクセス権 限を保持していません。

$ cd /home/steve/myproject
$ svn propedit svn:ignore .
$ chmod 777 cache
$ chmod 777 log

SVN設定のための標準テキストエディタは起動されるべきである。もし、何も起こらないのであれば、次のように入力することによって好みのエディタをsubversionが使うように指定します。

$ export SVN_EDITOR=
$ svn propedit svn:ignore .

次にコミットするときにSVNが無視すべきmyprojectのサブディレクトリを単に追加するだけです。

cache
log

保存し終了します。これで完了です。

トラックバック(0)

このブログ記事を参照しているブログ一覧: ソースの管理

このブログ記事に対するトラックバックURL: http://www.pistolfly.jp/mt/mt-tb-alt.cgi/23

コメントする