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というディレクトリが作られ、その中に大量のファイルがダウンロードされます(新規コピーは400MBを必要とします。ただし、コンパイル済み版にはもっと多くの--最大2GBの--スペースが必要です)。

lyxディレクトリの中で、git checkout 2.3.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.3.x

あるいは

 git checkout master

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

系列名リリース管理者保全責任者状態摘要
master (trunk)S Kostyshak 不安定マスター系列
branch 2.3.xS KostyshakRG Heck安定2.3安定系列
branch 2.2.xS KostyshakRG Heck安定2.2安定系列
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の安定化