SKK Openlab での開発

English

目次

  1. 開発ツールの変更について
  2. git/github.com による開発
  3. cvs/openlab.jp による開発

1. 開発ツールの変更について

2014年12月、ddskk 及び skktools の開発ツールを cvs から github へ変更しました。

2. git/github.com による開発

ddskk 及び skktools は github を利用して開発しています。

開発の流れなどは、次のドキュメントを参考にしてください。
GitHub による開発の流れについて (https://github.com/skk-dev/ddskk/blob/master/READMEs/development.ja.org)

2.1. SKK git レポジトリ構成

github で開発を行う際のレポジトリは、以下のような構成になっています。

upstream および origin は github のサーバ上にあるレポジトリとなっていて、おもに WEB ブラウザを経由して操作をします。

一方で local は手元の PC 上のレポジトリとなっていて、git checkout (ブランチ名) でブランチを切り替えることができます。 ブランチの中で行った改変は、git コマンドを使用しない限り他のブランチの内容には影響しません。

   +------------------------------------- +  (fork)   +------------------------------------------+
   | upstream                             | --------> | origin (masterブランチ)                   |
   |  -> https://github.com/skk-dev/ddskk |           |  -> git@github.com:YOURACCOUNT/ddskk.git |
   +--------------------------------------+           +------------------------------------------+
                ^    |                                                            |
                |    |                                                            |
                |    |           $ git clone git@github.com:YOURACCOUNT/ddskk.git | 
                |    |                                                            |
                |    |                                                            V
                |    |                                    +-----------------------------------+
                |    +----------------------------------> | local   (masterブランチ)           |      
                |     $ git pull upstream master:master   |   ->   手元の PC                   |
                |                                         +-----------------------------------+
                |                                                |
                |                                                | $ git branch REFACTOR
                |                                                | $ git checkout REFACTOR
                |                                                |    (REFACTORは例としてつけた名称です)
                |                                                V
                |                                         +-----------------------------------+
                |                                         | local  (REFACTORブランチ)          |
                |                                         |   改良作業はここで行う               |
                |                                         |   改良後 git add -u && git commit  |
                |                                         +-----------------------------------+
                |                                                |
                |                                                | $ git push origin REFACTOR:REFACTOR
                |                                                |
                |                                                V
                |                                     +------------------------------------------+
                +------------------------------------ | origin  (REFACTORブランチ)                |
                    (pull-request)                    |  -> git@github.com:YOURACCOUNT/ddskk.git |
                                                      +------------------------------------------+

2.2. git の入手方法(UN*X環境)

ご利用のUN*X環境によっては git の開発環境がインストールされていないことがあります。

git のインストールに関しては、http://git-scm.com/book/ja/v1/使い始める-Gitのインストールなどのサイトを参照下さい。

2.3. git の入手方法(Windows環境)

https://msysgit.github.io/ より Git for Windows を入手します。

インストールする要素の選択(Select Components)は、[Windows Explorer integration] および [Associate .sh files to be run with Bash] のチェックを外し、次に進みます。

SKK ディストリビューションは、Windows のバッチファイルを含むため、リポジトリの改行コード(LF or CRLF)を保つために、 改行コードの変換設定(Configuring the line ending conversions)は、 [Checkout as-is, commit as-is] にチェッックを入れてください。

なお、Windows 環境では cvs と同様に cygwin を利用することも可能です。

cygwin を使用した場合と、上記の Git for Windows を利用する場合では、 shell を起動したときのホームディレクトリが異なることに注意して下さい。

デフォルトのインストールでは、Windows のログイン ID を LOGINID としたときにホームディレクトリは以下のようになります。

Git for Windows
c:\Users\LOGINID\
cygwin
c:\cygwin\home\LOGINID\ (または、 c:\cygwin64\home\LOGINID\)

2.4. git による SKK ソースの入手

単に最新版のソースをダウンロードする場合は以下のようにして SKK ソースの clone をダウンロードすることができます。

     % git clone https://github.com/skk-dev/ddskk

開発に参加される方は、前掲「GitHub による開発の流れについて」をご覧ください。

GitHub における開発のためには、https://github.com のアカウントを登録する必要があります。詳しくは GitHub のサイトの案内を参照して下さい。

3. cvs/openlab.jp による開発

main (=> skk-dev/ddskk) 及び tools (=> skk-dev/skktools) 以外は、従来と変わりません。

3.1. SKK cvs レポジトリ構成

     $CVSROOT(openlab.jp:/circus/cvsroot)
        |
        |
        +-- skk --+-- main (Main distribution -- Emacs Lisp, tutorials, etc)
                  |   ※ github へ変更しました
                  |
                  +-- dic (Dictionaries)
                  |
                  |
                  +-- tools (Dictionary maintenance tools)
                  |   ※ github へ変更しました
                  |
                  +-- skkserv (Dictionary server)
                  |
                  |
                  +-- pySKK (SKK related libraries using python)
                  |
                  |
                  +-- web (Web page html files)

3.2. CVS の入手方法

CVS は http://ftp.gnu.org/non-gnu/cvs/ で配布されています。

CVS に関する情報は

から入手可能です。また、CVS に関する日本語の情報として、以下のようなページがあります。

なお、Emacs には pcvs (pcl-cvs) というフロントエンドが付属しています。

3.3. CVS による SKK ソースの入手

ゲストアカウントで openlab.jp の cvs server にログインします。

     % cvs -d :pserver:guest@openlab.jp:/circus/cvsroot login

パスワードの入力を促すプロンプトが出るので、パスワードとして guest を入れ、RET しましょう。

     CVS password: guest [RET]

~/.cvspass というファイルにパスワードが記録され、次からは入力不要になります。 (*注1)

次に DDSKK のソースを取得します (このファイルを作業コピーといいます)。 (*注2)

     % cvs -d :pserver:guest@openlab.jp:/circus/cvsroot checkout skk/main

カレントディレクトリの下にできる skk/main (作業ディレクトリ) にコピーが作成されます。

手元のソースを最新に更新するには作業ディレクトリに移動してcvs updateを実行します。

     % cd skk/main
     % cvs update -dP

3.4. コミッタのためのガイド

3.4.1. CVS での開発参加

openlab.jp に SSH2 公開鍵 (OpenSSH) を登録することで開発に参加できます。まず SSH2 公開鍵 (OpenSSH) を skk-owner@ring.gr.jp 宛てに送付して下さい。登録完了の通知をお送りします。

SSH 経由のアクセスにおいては cvs login は必要ありません。skk-cvs というアカウントをコミッタ全員共通で使用します。ソースを取得するには以下のコマンドを実行します。

     % cvs -d:ext:skk-cvs@openlab.jp:/circus/cvsroot checkout skk/main

また、取得済みのソースを最新に更新するには作業ディレクトリで以下を実行します。

     % cvs update -dP

3.4.2. コミット

下記の手順を踏んでコミットして下さいね。

     % cd skk/main
     % cvs commit -m "Update." ChangeLog
     % cvs commit -m "あなたのコメントをここに。" skk.el

脚注

注1

サーバーの情報は作業ディレクトリ下に記録されるので、作業ディレクトリでCVS コマンド (checkout, update, commit など) を実行すると、自動的に openlab.jp にログインして、それぞれのコマンドを実行します。

注2

~/.cvsrc に

     cvs -z3

と書いておくと、サーバーとの通信内容が圧縮されます。数字が大きい程圧縮率が高いのですが、圧縮率が高い程サーバの負担が高いので、-z3 ぐらいが丁度良いようです。

注3

CVS の Emacs 用フロントエンド pcl-cvs (pcvs) を使う場合、コミットのために C キー (cvs-mode-changelog-commit) を押すと ChangeLog から当日コミッタ自身が書いた部分を抜き出して、ログを書く手助けをしてくれます。

目次へ
mailto: skk@ring.gr.jp
Last Modified: $Date: 2017/07/02 06:31:22 $