Gitでソースコードを取得する

1.  はじめに

Gitを用いると、複数の人が同時にコード開発に携わることができます。Gitのホームページからは、コードをダウンロードできるほか、Gitに関するさらに多くの情報を得ることができます。

LyXでの使用法についての詳細(あるいはLyXのコードに触ってみたい場合)は、私たちのwikiページをご覧ください。

旧来のSVNを使用している開発継続中のモジュールもありますので、その場合はここをご覧ください。

2.  LyX Gitリポジトリ

lyxgit
このリポジトリは、LyXソースコードを提供するものです。次期メジャーリリースの開発は、「master」系列で行われ、マイナー(保全)リリースは「2.0.2」のような系列で行われます。次期安定版は、最新系列「2.0.x」に置かれます。旧来の慣習によって、master系列は「trunk」、保全系列は「branch」と呼ばれることもあります。
閲覧したい系列を選択するには、「Visit」プルダウンメニューを使ってください。

3.  Tracソースブラウザ

Gitでは、リポジトリ全体をコマンド一つでダウンロードできます。Git中の1ファイルのみを見たいときは、Tracソースブラウザを使うと良いでしょう。Tracは、Gitリポジトリをブラウズすることを可能にする他、ログファイル等を読んだり、任意の版の間の差分を閲覧すること等を可能にするツールです。

LyX Gitリポジトリ(および旧SVNリポジトリ)のTracソースブラウザは、LyXホームページにあります。しかし、たいていの場合、Gitリポジトリをダウンロードする方を望まれるでしょう。その場合は、以下を引き続きお読みください。

4.  匿名Gitクローン

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

 git clone git://git.lyx.org/lyx

と実行してください。すると、lyxというディレクトリが作られ、その中に大量のファイルがダウンロードされます(新規コピーは300MBを必要とします。ただし、コンパイル済み版にはもっと多くの--最大1GBの--スペースが必要です)。

lyxディレクトリの中で、git checkout 2.0.xを実行すれば、保全系列に切り替えることができます。

5.  最初のダウンロードの後に

コードが更新されたならば、lyxディレクトリにcdして、

 git pull

と打ち込んでください。これによって、追加されたファイルのみがうまい具合にダウンロードされ、変更されたファイルのみにパッチが当てられるので、あなた(とサーバー)の時間が奪われずに済みます。

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

 git status

と行ってください。


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

開発版のコンパイルや実行を行いたい場合は、automakeautoconfgettextのようなパッケージが追加で必要となりますので、tarballをダウンロードする場合よりも若干複雑になります。

Linuxでは、INSTALLの指示に従うだけです(大概いつものように、①./autogen.sh、②./configure、③make、④make installと行うだけです)。

Linux以外では、INSTALL.Win32/MacOSXの説明に従ってください。


7.  ソースに変更を加える

私たちは、あなたの創造の衝動を熱烈にサポートします。バグの修正や文書化、新機能の追加は、すべて注意深く目を向けられ、例外も多くありますが、通常受け入れられます。ただし、新機能については、安定リリース版に受け入れられることは滅多ありません。

LyXに変更を加えたい場合には、最近のリリース版ではなく、最新のgitソースに変更を加えていただいた方が、他の人々の作業が楽になります。以下は、あなたが行うことになる手順の概略です。

  • まず git pull を使って、最新版のソースを取得してください。古いソースへのパッチは、適用することがかなり難しくなりますので、注目されない可能性が高くなります。
  • ファイルに変更を加えます。
  • git diff > mypatch.diff を実行してパッチを作成します。
  • そのパッチをLyX 開発者用メーリングリストに送ってください。

さらに望ましいのは、開発者用ソースツリーに即適用できる形の適切なコミットを送ってもらうことです。

  • まず git pull を使って、最新版のソースを取得してください。古いソースへのパッチは、適用することがかなり難しくなりますので、注目されない可能性が高くなります。
  • ファイルに変更を加えます。
  • git commit -a を実行してコミットを作成します。こうすると、エディタが起動するので、そこに、あなたの変更点が何を行うのかの説明を書き込みます。
  • git format-patch -1 を実行します。すると、カレントディレクトリに 0001-title-of-your-patch.patch というファイルが生成されます。
  • そのパッチをLyX 開発者用メーリングリストに送ってください。

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

もし、あなたの作成したパッチの多くが、LyXチームによってコードに組み込まれるようになってきたならば、あなたにはGITアクセス権を与えられるかもしれません。その場合には、あなたの作業はもっと楽になるでしょう。詳細な情報は、私たちのwikiにあります。

LyXホームページの非wikiコンテンツ(ニュースやアナウンスメントなど)と、辞書・類義語辞典は、現在もSubversionによって追跡されています。

9.  Gitブランチ(派生系列)

LyXの開発は、主にGitの各系列で行われます。開発を手助けしたり、各系列のテストを行いたい場合には、既にクローンをしたリポジトリ上で

 git checkout 2.0.x

あるいは

 git checkout master

というようなコマンドを実行すれば、そのコピーがチェックアウトされます。

系列名リリース管理者保全責任者状態摘要
master (trunk)S Kostyshak 不安定マスター系列
branch 2.1.xVF RavesteijnRG Heck安定2.1安定系列
branch 2.0.xP SandaRG Heck安定2.0安定系列

また、以下の廃止された旧系列もあります。

系列名リリース管理者保全責任者状態摘要
BRANCH_1_6_XJMatosJSpitzm安定1.6安定系列
BRANCH_1_5_XJMatosJSpitzm安定1.5安定系列
BRANCH_1_4_XLGBjønnesJMarc安定1.4安定系列
BRANCH_1_3_X JMarc安定1.3安定系列
BRANCH-1_2_XLGBjønnesJMarc安定1.2安定系列
BRANCH_1_1_6 JMarc安定1.1.6の安定化