Ruby on Rails with Mac OS X 10.5 (3)
2011/03/19
コマンド一覧はあるものの、操作方法がよくわからない。Google様にお伺いするもSubversionもpsvn.elもそれほど普及していないのか記事がすくない。
とりあえず動作確認しながら使い方をメモしてみる。
想定しているディレクトリは下記の通り。
o レポジトリ /svn-repos/ + project1/ + trunk/ + tags/ + branches/ o 作業用コピー ~/svn-works/ + project1/ + trunk/ + tags/ + branches/ o 初回importするときだけの一時的なもの /tmp/ + project1/ + trunk/ + tags/ + branches
これからemacs上で行いたいシェルコマンドは以下の通り。
$ mkdir /svn-repos $ mkdir /svn-repos/project1 $ svnadmin create /svn-repos/project1 $ mkdir /tmp/project1 $ mkdir /tmp/project1/trunk $ mkdir /tmp/project1/tags $ mkdir /tmp/project1/branches $ cd /tmp/project1 $ svn import . file:///svn-repos/project1/ $ cd $ rm -rf /tmp/project1 $ mkdir ~/svn-works $ mkdir ~/svn-works/project1 $ cd ~/svn-works/project1 $ svn co file:///svn-repos/project1/ .
リポジトリディレクトリを準備し、importするための一時的にディレクトリを作成する。importしたディレクトリからそのままcoできないので別なところを用意する。もしくはいったん消すという方法もあるけれど...。それから手元にcoするところまでをまずやってみる。
emacsを起動して、C-x dでdiredを起動。/へ移動して+でsvn-reposを作成する。svn-reposに移動してproject1を作成。
M-x svn-admin-createでCreate a svn repository at:と聞かれるので、/svn-reposを指定しリポジトリを作成する。
次に一時ディレクトリ。同じようにdiredで/tmpに移動、project1とtrunk、tags、branchesを作成。project1へ移動して、M-x svn-admin-start-importを実行。Create local repository?と聞かれるのでnを選択(svn-admin-createですでに作成済み)。するとRepository Url:と表示されるのでfile:///svn-repos/project1/を指定。するとdiredと似たpsvnのバッファが現れる。branches以下3つのディレクトリをAでadd指定する。cでcommitしてメッセージログを入力。C-c C-cでCommitできる。
diredに戻ってもういらない/tmp/project1を削除。~/にsvn-worksとその下にproject1を作成し、project1以下に移動。M-x svn-checkoutでfile:///svn-repos/project1/を指定するとcheckoutできる。
無理にdiredを使う必要もないし、psvnもcommitするあたりから使えればいいかなぁという感じ。
diredの操作方法の簡単なまとめ。
コマンド | 説明 |
---|---|
C-x d | 起動 |
n, p | ↑↓ |
RET, e, f | 開く |
^ | cd .. |
d | 削除マークを付ける |
x | 削除マークが付いたのを実際に削除 |
R | mv |
C | cp |
s | ソート。または「C-u s -lSr」など |
D | rm |
+ | mkdir |
Z | gzip |
g | ディレクトリ内容再読み込み |
i | サブディレクトリの内容を表示。$ で表示トグル |
m | マークする。ディレクトリのとこにつけると全ファイルに |
u | マークをはずず |
t | マークの反転 |
A | マークしたファイルを検索。M-, で次のマッチ箇所へ |
Q | マークしたファイルに対して、query-replace-regex |
= | diff |
M-= | 「*~」とdiff |
~ | 「*~」に削除マーク |
% d regexp | ファイル名にマッチしたら削除マーク |
psvn.elの操作方法の簡単なまとめ。
コマンド | svnでのコマンド |
---|---|
g | svn status -v |
= | svn diff |
U | svn update |
c | svn commit |
A | svn add |
m | set-user-mark |
c | commit |
C-c C-c | メッセージログ入力後実際にcommit |