2014年12月、ddskk 及び skktools の開発ツールを cvs から github へ変更しました。
ddskk 及び skktools は github を利用して開発しています。
開発の流れなどは、次のドキュメントを参考にしてください。
GitHub による開発の流れについて (https://github.com/skk-dev/ddskk/blob/master/READMEs/development.ja.org)
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 | +------------------------------------------+
ご利用のUN*X環境によっては git の開発環境がインストールされていないことがあります。
git のインストールに関しては、http://git-scm.com/book/ja/v1/使い始める-Gitのインストールなどのサイトを参照下さい。
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 としたときにホームディレクトリは以下のようになります。
単に最新版のソースをダウンロードする場合は以下のようにして SKK ソースの clone をダウンロードすることができます。
% git clone https://github.com/skk-dev/ddskk
開発に参加される方は、前掲「GitHub による開発の流れについて」をご覧ください。
GitHub における開発のためには、https://github.com のアカウントを登録する必要があります。詳しくは GitHub のサイトの案内を参照して下さい。
main (=> skk-dev/ddskk) 及び tools (=> skk-dev/skktools) 以外は、従来と変わりません。
$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)
CVS は http://ftp.gnu.org/non-gnu/cvs/ で配布されています。
CVS に関する情報は
から入手可能です。また、CVS に関する日本語の情報として、以下のようなページがあります。
なお、Emacs には pcvs (pcl-cvs) というフロントエンドが付属しています。
ゲストアカウントで 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
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
下記の手順を踏んでコミットして下さいね。
% cd skk/main % cvs commit -m "Update." ChangeLog % cvs commit -m "あなたのコメントをここに。" skk.el
サーバーの情報は作業ディレクトリ下に記録されるので、作業ディレクトリでCVS コマンド (checkout, update, commit など) を実行すると、自動的に openlab.jp にログインして、それぞれのコマンドを実行します。
~/.cvsrc に
cvs -z3
と書いておくと、サーバーとの通信内容が圧縮されます。数字が大きい程圧縮率が高いのですが、圧縮率が高い程サーバの負担が高いので、-z3 ぐらいが丁度良いようです。
CVS の Emacs 用フロントエンド pcl-cvs (pcvs) を使う場合、コミットのために C キー (cvs-mode-changelog-commit) を押すと ChangeLog から当日コミッタ自身が書いた部分を抜き出して、ログを書く手助けをしてくれます。