Subversionを使ってソースコードを入手するには

1.  はじめに

Subversion(SVN)を使うと、複数の人々がコード開発に同時に携わることができるようになります。Subversionのもっと詳しい情報と、コードのダウンロードは、ホームページから入手することができます。ドキュメンテーションとSubversion FAQを一読されることを、強くお勧めします。

GIT教を信奉する方々は、こちらをご覧ください。

2.  モジュール

現行のSubversionレポジトリには、アクティブなモジュールが二つあります。

lyx-devel
このレポジトリは、LyXソースコードを提供します。次期メジャーリリースの開発はトランク(主幹系列)で行われ、マイナー(保守)リリースはブランチ(派生系列)で準備が進められます。次期安定バージョンは、最新のbranches/BRANCH_X_X_Xディレクトリにあります。
www-user
このレポジトリは、我々のウェブページ(www.lyx.org)の一部を保持しています。

以下はもはや使用されていませんが、歴史的観点から保持されています。

lyx-tests
このレポジトリには、試験用に便利な.lyxファイルがいろいろ収められています。
lyx-1_0_x
これは、古い安定リリース系列です。このブランチに対しては、もう作業は行われていません。
lyx
これは、古くて不安定な開発系列で、もう使用されていません。
www-devel
これは、開発者用ウェブページを保持するのに使用されていました。この内容は、www-userdevelサブディレクトリに統合されました。
lyxdoc
ここには、LyX 1.3.x用のドキュメンテーションが(BRANCH_1_3_X系列に)保持されており、リリース前にdocディレクトリに織り込まれます。ドキュメンテーションは、lyx-develモジュールに移行されたので、これは主幹系列用に使用されることはなくなりました。

3.  Tracソースブラウザ

SVNを使用すると、モジュール全体をたった一つのコマンドでダウンロードすることができます。SVNのファイルを一つだけ見たいときには、Tracソースブラウザを使用することを考えた方がよいでしょう。Tracは、SVNレポジトリを閲覧したり、ログファイル等を読んだり、任意のバージョン間の差分の閲覧などを可能にするツールです。

LyXのSVNレポジトリ用のTracソースブラウザは、LyXホームページにあります。しかしながら、ほとんどの場合、ユーザーはモジュール全体をダウンロードしようと思うでしょう。その場合は、以下をお読み下さい。

4.  匿名SVNログイン

ソースのローカルコピーを置きたいと思うディレクトリ内から、

 svn co svn://svn.lyx.org/lyx/lyx-devel/trunk lyx-devel

を実行して下さい。すると、lyx-develというディレクトリが作られて、その中にたくさんのファイルがダウンロードされます(新規のコピーは、凡そ150MBを必要とします。コンパイルしようとするフロントエンドにも依りますが、コンパイル後のバージョンは、最大800MBに達する多くの容量を必要とします)。

もちろん、ダウンロードしたいモジュールによっては、svn co svn://svn.lyx.org/lyx/www-user/trunk www-userのように入力することもできます。

5.  初回ダウンロード以後

コードを更新するには、lyx-develディレクトリにcdして、

 svn update

を実行するだけです。これによって、変更あるいは追加のあったファイルのみを、適切にダウンロードしたりパッチを当てたりするので、ユーザー(とサーバー)の時間を大幅に節約することができます。

リポジトリと比較して、ローカルコピーにどのような変更が加えられているかを調べたいだけならば、

 svn status

を実行して下さい。ローカルコピーにまだ反映されていない変更が、サーバーにあるかどうかを調べるには、

 svn status -u

を実行して下さい。


6.  ソースをコンパイルする

tarファイルをダウンロードしたときと同じように、INSTALLファイルの説明にしたがって下さい。安定モジュールの場合には、ほとんどの場合、ただ ./autogen.sh./configuremakesudo make install を順に行うだけです。

開発モジュールをコンパイル・実行したい場合は、リリースモジュールの時よりは、若干複雑になります。適切なGNU FTPサイト(gnu.orgにアクセスしてミラーサイトを見つけてください)からダウンロードすることのできる、automakeautoconf、およびgettextが必要となります。これらをすべてインストールしたならば、Allan Rae作のautogen.shスクリプトを実行して下さい。手順が適切な順序で実行された後、configuremakeを実行するように指示されることでしょう。


7.  ソースを変更する

私たちは、あなたの創造的な衝動を、なんであれ強く支持します。バグ修正や文書化や新機能は、つねに注意深く精査され、多くの例外もありますが、通常は受け入れられます。新機能に関しては、安定リリース版に直接受け入れられることはまずありません。

LyXに変更を加えたい場合には、最近のリリースではなく、最新のSVNソースに変更を加えていただければ、皆の作業が楽になります。以下は、手順の簡単な概要です。

  • svn updateを使って、ソースの最新版を入手して下さい。古いソースへのパッチを適用することはたいへん困難なので、無視されてしまう可能性が高くなります。
  • ファイルに変更を加えます(直接その場で編集するか、どこか他の場所へコピーして編集し、SVNツリーを保持している場所にコピーしなおすかしてください)。
  • svn diff > mypatch.diffを実行してパッチを作成して下さい。
  • パッチをgzipして、LyX開発者メーリングリストに送って下さい。

8.  SSH経由の書き込みアクセス

あなたがパッチをたくさん作成して、それをLyXプロジェクトチームがコードに取り入れるようになると、SVNアクセス権を与えられる可能性があります。その場合、あなたの作業はもっと楽になるでしょう。上記の匿名ログインの代わりに、

 svn co svn://svn.lyx.org/lyx/lyx-devel/trunk lyx-devel

とすることで、ソースをチェックアウトできるようになります。すると、変更点をSubversionツリーにチェックインするのに、パッチを作成してメールを送ることをせずとも、svn commitを実行するだけで済むようになります。初回には、ユーザー名とパスワードを尋ねられますが、次回のセッションでは、Subversionが便利なようにユーザー名とパスワードを記憶しておきます(この挙動は無効にすることもできます)。

LyX開発者用ウェブサイトとLyXホームページも、ともにSubversionで管理されています。もちろん、書き込み権限がない限りは、わざわざダウンロードする必要はないでしょう。これらは、ともにwww-userモジュールにあります。

9.  SVN系列

LyXの主な開発は、SVN系列に対して行われます。これらの系列での開発や試験を手助けするのに興味のある方は、以下のコマンドでコピーをチェックアウトすることができます。

 svn co svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X lyx-2.0.x
系列名保守者名状況摘要
trunkPSanda不安定主幹系列
BRANCH_2_0_XRGHeck安定2.0安定派生系列

以下のような使われなくなった古い系列もあります。

系列名保守者名状況摘要
BRANCH_1_6_XJSpitzm安定1.6安定派生系列
BRANCH_1_5_XJSpitzm安定1.5安定派生系列
BRANCH_1_4_XJMarc安定1.4安定派生系列
BRANCH_1_3_XJMarc安定1.3安定派生系列
BRANCH-1_2_XJMarc安定1.2安定派生系列
BRANCH_1_1_6JMarc安定1.1.6の安定化