サイトデータの作業コピーでの作業(Emacsのpsvn編)
Mac OS X 10.5.8 Leopardで、Subversion(SVN)によるWebサイト(ホームページ)の管理システムを構築しました。何回かに分けて、紹介しています。
前回は、サイトデータの作業コピーでの作業(ターミナル編)について書きました。ちょっと頑張りすぎたかも。
今回は、EmacsのSVNクライアントpsvn.elを使っての作業です。サイトデータの作業コピーでの作業についてまとめてみようと思います。psvnの使い方になるのですが、ホームページデータ(Webサイトデータ)を編集する時の流れを中心にまとめてみたいと思います。
Carbon Emacs パッケージには、最初からインストールされています。
ただし、.emacsへの設定が必要です。私は、次のようにしています。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; PSVN ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq process-coding-system-alist '(("svn" . utf-8))) (setq default-file-name-coding-system 'utf-8) (setq svn-status-svn-file-coding-system 'utf-8) ;(setq svn-status-svn-process-coding-system 'utf-8)
svn-status-svn-process-coding-systemは、必要なのか不要なのかわかりません。この設定を入れても入れなくても、commitログが文字化けするのです。ターミナル.appで見ると、正しく見えるので、commitログにはちゃんと書き込めているのだと思います。原因不明です。どなたか、お知恵をいただけませんでしょうか?
Webサイト用データの変更は、リポジトリのtrunkからの作業コピー(ワーキングコピー:WC)に対してする様にします。作業用コピーを作る事を、checkoutと言います。
まずは、作業コピーを作ります。作業コピーの作成は、ターミナル.appからします。psvnでは作れないようです。作業コピーの作り方は、前回の説明と同じで、次の通りです。
作業コピーを、ホームディレクトリのSites.svnとします。ユーザー名を"user1"としていましたので、オプションとして付け加えます。
$ cd $ svn checkout http://localhost/svn/wwwlocal/trunk Sites.svn --username user1 Authentication realm: <http://localhost:80> Subversion repositories Password for 'user1': A Sites.svn/index.html A Sites.svn/styles.css Checked out revision 4.
これで、作業コピーが作られました。この後の編集作業は、Sites.svn内で行います
サイトデータを更新する時は、次のような流れになると思います。
- psvn起動(M-x svn-status)
- Update(U)
- HTMLファイルオープン(f)
- 修正
- 3と4の繰り返し
- 更新データ選択(**)
- commitログ入力(c)
- commitログ入力終了(C-c C-c)
M-x svn-statusでpsvnを起動し、作業コピーのディレクトリ(~/Sites.svn)を指定します。すると、diredのような画面になります。キーバインドも似ています。fでファイルオープンです。別のバッファで開くならoです。修正せずに見るだけならvです。diredのファイル操作と同じですね。
ファイルを開いたら、通常のEmacsでの編集作業と同じです。存分に、Emacsの編集機能を使って下さい。
ファイルの修正が終わったら、C-x C-sで保存です。これも、Emacsの基本機能ですね。
ファイルを修正すると、ステータスバーの緑色の丸が赤色に変わります。リポジトリのデータから更新されると、赤丸になるようです。
サイトデータの更新の場合、複数のファイルを更新する事になると思うので、ファイルの選択、修正を繰り返します。
場合によっては、ファイルの削除や追加があるかもしれません。ファイルの削除はDです。ファイルの追加は、aです。
これらの修正が終わったら、*svn-status*バッファに戻り、変更したファイル全てを選択します。**で、修正したファイル、追加したファイル、削除したファイルの全てを選択出来ます。
ファイルの選択後、cでリポジトリにcommitします。*svn-log-edit*バッファが開くので、コメントを入力します。"##"で始まる行は、ログに記録されません。コメントの入力が終わったら、C-c C-cで、終了です。
*svn-status*バッファで、修正状態がわかるので、非常に便利です。
Subversion
メモに全機能が紹介されています。その中から、良く使う物をまとめ直してみたいと思います。
機能 | キー | 対応するSVNコマンド | |
---|---|---|---|
カーソル移動と バッファ操作系 |
上 | pまたは↑ | |
下 | nまたは↓ | ||
編集用に開く | f | ||
編集用に開く (別のバッファ) |
o | ||
読み込み専用に開く (別のバッファ) |
v | ||
作業コピー更新 | U | svn update | |
編集状態更新 | g | svn status -v | |
ファイル操作系 | ファイルコピー | C | svn copy |
ファイル名の変更 | M | svn mv | |
ファイルの追加 | a | svn add –non-recursive | |
ファイルの削除 | D | svn delete | |
ディレクトリ作成 | + | svn mkdir | |
commit系 | 変更したファイルを全て選択 | * * | |
commitログ入力 | c | svn commit | |
commitログ入力終了 | C-c C-c | svn commit | |
commitログ確認 | l | svn log |
【参考にしたWebページ】
記事を書くに当たり、参考にさせていただきました。ありがとうございます。
- pLog svn
- psvnの基本操作と設定が載っています。
- Subversion メモ
- キーバインドが載っています。
- Pirochin’s Blog – psvn の文字化け
- svn logの文字化けについてです。
【シリーズ記事】
ディスカッション
コメント一覧
まだ、コメントがありません