貢献する方法 / SavannahのGitリポジトリ

GetFEM は共同開発に基づいたオープンソースの有限要素ライブラリです.貢献したい場合は,プロジェクトへのメンバー参加を依頼してください.ドキュメンテーション,バグレポート,建設的なコメント,変更の提案,バグ修正,新モデルなど,あらゆる種類の貢献が歓迎されます.

コントリビューターは,もちろんですが,変更がライブラリの正しい機能に影響を与えないよう注意し,それらの変更が下位互換性の原則に従うように注意してください.

GetFEM 開発についてのタスクと議論のリストは, here を参照してください.

重要 : コントリビューターは,自分の貢献が GetFEM のLGPLライセンスに基づいて配布されることを暗黙に承諾しているとします.

GetFEM のメインリポジトリはフリーソフトウェア財団のsoftware forgeである Savannah にあります( Savannah を参照). Savannah のプロジェクトページは Getfem on Savannah にあります. Getfem sources on Savannah も参照してください.

ソースを入手する方法

必要なのはソースだけで貢献しないのであれば,次のコマンドを使うだけで済みます.

git clone https://git.savannah.nongnu.org/git/getfem.git

貢献をしていただけるなら,まずはじめに GetFEM プロジェクトに参加してください(Savannahのアカウントを作成する必要があります).そして,sshキーを登録してから( git on Savannah を参照),次のコマンドを使用してください.

git clone ssh://savannah-login@git.sv.gnu.org:/srv/git/getfem.git

貢献する方法

masterブランチで直接変更することはできない ため,ファイルを変更する前に, 開発ブランチ を作成してください.ブランチ名は devel-name-subject の形式を推奨します.ここで, name はあなたの名前またはログイン名で, subject は変更の題名です.たとえば,ブランチ名を devel-me-rewrite-fem-kernel とした場合,ブランチは次のように作成します.

git branch devel-me-rewrite-fem-kernel
git checkout devel-me-rewrite-fem-kernel

最初のコマンドでブランチを作成し,2番目のコマンドでブランチに移動します.これにより,変更を行う準備はほぼ完了です.変更のラベルを付けるために,連絡先の名前と電子メールを以下のコマンドで指定します.

git config --global user.name "Your Name Comes Here"
git config --global user.email you@yourdomain.example.com

ドキュメントの改善と誤植修正のためのブランチ

ドキュメンテーションのみに貢献したい場合は,特定のブランチを作成する必要はありません.そのために作成された fixmisspell ブランチをチェックアウトしてください.

git checkout fixmisspell

変更をローカルにコミット

もし src/toto.cc というファイルをいくつか変更したり,新しいファイルとして追加したら,ローカルのコミットは次のコマンドで行います.

git add src/toto.cc
git commit -m "Your extensive commit message here"

この段階ではコミットはあなたのローカルリポジトリで行われていますが,Savannahリポジトリでは行われません.

Savannahリポジトリに変更をプッシュ

以下のコマンドで Savannah リポジトリに変更を移すことができます.

git push origin devel-me-rewrite-fem-kernel

当然ですが devel-me-rewrite-fem-kernel はあなたのブランチの名前です.この段階で,あなたの変更はSavannahリポジトリのブランチ devel-me-rewrite-fem-kernel に登録されます. GetFEM のマスターブランチを変更することは許可されていないので,あなたの役割はここで終わりです.

GetFEM のマスターブランチに変更をマージする場合は管理者に問い合わせてください.

十分なテストで変更を検証したら,管理者に GetFEM に変更をマージするように問い合わせます.その際には,管理者の1人に直接連絡するか, getfem-commits@nongnu.org に "please merge branch devel-me-rewrite-fem-kernel" というメッセージの電子メールを送ってください.その際には変更に関する短い説明をつけてください.重要:ブランチを残す必要がある場合を除き,デフォルトではブランチはマージ後に削除されます.

他のコントリビューターが行った変更をマージします

次のコマンドで実行します.

git pull origin master
git merge master

このコマンドは検証され統合された変更をマスターブランチに統合するために使用されます.マスターブランチでの変更の統合を要求する前にこのコマンドを実行することをお勧めします.

いくつかの便利なgitコマンド

git status  : status of your repository / branch

git log --follow "filepath"   : Show all the commits modifying the specified file (and follow the eventual change of name of the file).

gitk --follow filename : same as previous but with a graphical interface

ドキュメントの翻訳への貢献

新しいコントリビューターがドキュメントを翻訳する際には, Getfem translation team on Transifex に参加することを推奨します.貢献するためには, transifex でアカウントを作成し「言語と入力フォームを要求」をクリックしてください.翻訳後 transifex クライアントを使用して,サイトから翻訳された po ファイルをプルします.Transifex サイトで手に入るAPIトークンが必要です.

cd doc/sphinx
tx pull -l <lang>

ネイティブ言語のコード<lang>を設定します ( Currently supported languages by Sphinx are 参照).

警告

Transifex に tx push を しないでください.この操作はいくつかの問題があります.チームページでファイルを1つずつアップロードしてください.

翻訳された po ファイルをプルした後, doc/sphinx/Makefile.am のLANGUAGEに<lang>を設定します.

LANGUAGE      = <lang>
SPHINXOPTS    = -D language=$(LANGUAGE)

次に html ローカライゼーションドキュメントを以下のコマンドで作成します.

cd doc/sphinx
make html

自分の言語で pdf ファイルを作成したい場合は,次のコマンドを実行します.

make latex
cd build/latex
make all-pdf-<lang>

詳細は Sphinx Internationalization を参照してください.

翻訳された文書は, Read the Docs の言語切替えで見ることができます.