Subversion cakePHPプロジェクトの作業コピーつくったら最初にやることのメモ

cakePHPのプロジェクトのリポジトリをつくって、作業コピーをつくったらignore設定とか色々あるので、メモする。いつもignoreを微妙に忘れるし。

subversionのチェックアウト

svn checkout svn+ssh://user@host .

作業コピーが終わってからの作業のshをつくってみた。
rmとかignoreはかなり冗長的な感じだけど、これで多分動いたみたい。
作業コピーに移動してから実行する。

#!/bin/sh
#svn checkout svn+ssh://user@host .

#app/tmpを707に設定
sudo chmod -R 707 app/tmp

#app/tmp内のいらないファイルを削除する
rm -f app/tmp/*
rm -f app/tmp/cache/*
rm -f app/tmp/cache/models/*
rm -f app/tmp/cache/persistent/*
rm -f app/tmp/cache/views/*
rm -f app/tmp/logs/*
rm -f app/tmp/sessions/*
rm -f app/tmp/tests/*

#無視リストを設定する
svn propset -R svn:ignore ‘*’ ./.setting
svn propset -R svn:ignore ‘.buildpath’ ./
svn propset -R svn:ignore ‘.DS_Store’ ./
svn propset -R svn:ignore ‘.project’ ./
svn propset -R svn:ignore ‘*’ ./.idea
svn propset -R svn:ignore ‘build.properties’ ./
svn propset -R svn:ignore ‘build.xml’ ./
svn propset -R svn:ignore ‘README.md’ ./
svn propset -R svn:ignore ‘cake_svn.sh’ ./

#全てのファイルを追加する
svn st | grep '^\?' | sed -e 's/\?[ ]*/svn add /g' | sh

#コミット
svn ci -m 'first commit'

subversionのコマンド

リポジトリの作成
svnadmin create –fs-type fsfs MyNewRepositor
追加
svn add
一括追加は、svn st | grep ‘^\?’ | sed -e ‘s/\?[ ]*/svn add /g’ | sh
リポジトリから作業コピーをチェックアウト
svn checkout (svn co)
コミット
svn commit (svn ci)
コミットログの表示
svn log
ステータス表示
svn status (svn st)
作業コピーの更新
svn update (svn up)
差分表示
svn diff -r 1:2
最新のバージョン管理下のファイルに戻す
svn revert [バージョン管理下のファイルorフォルダ]
subversionのバージョン確認
svn –version
無視リスト設定
svn propset -R svn:ignore -F ignore.txt ./ (./ignore.txtに記載されているファイルを無視設定する)
svn propset svn:ignore ‘*’ ./setting (./settingフォルダ内の全てのファイルを無視設定する)
svn propset -R svn:ignore ‘*’ ./setting (./settingフォルダ以下の全てのフォルダ・ファイルを再帰的に無視設定する)
ファイル・フォルダ削除
svn delete (別名del, remove, rm)
元に戻す
svn revert パス(これで消してしまったやつも戻せる)