このページは、大きなタスクを探しているボランティア向けのプロジェクトのアイデアをまとめたものです。Subversion に大きく貢献したいが、まだ何をしたいのか分からない場合は、このページが役立ちます。
これらのプロジェクトのアイデアは、Google Summer of CodeやOutreach Program for Womenなどのプログラムに適していると考えられています。
他のプログラミング言語へのバインディングを改善する。
Subversion の強みの 1 つは、豊富な「バインディングサーフェス」、つまり C(Subversion のネイティブ言語)だけでなく、他のプログラミング言語(現在、Perl、Python、Ruby、Java)でも利用できる API を提供していることです。
これらの言語バインディングの一部は、バインディングの生成プロセスを部分的に自動化するツールであるSWIGを介して管理され、一部は手動で管理されています。バインディングの多くはまだ完全なカバレッジがないか、カバレッジがあってもインターフェースの問題があります(たとえば、最新の Subversion リリースのすべての API 要素を公開していないなど)。そのため、バインディングは多くの本番システムで使用され、Subclipseなどの人気のある Subversion クライアントの構築に使用されていますが、やるべきことはまだたくさんあります。
バインディングのユーザーにとってのもう 1 つの大きな問題は、バインディングに特化した適切なドキュメントの欠如です。
必要な技術スキル
進捗状況の出力を表示する。
更新およびコミット中に表示される進捗状況の出力を改善します。詳細については、issue #901 を参照してください。
必要な技術スキル
'svn help' を改善する。
現在、svn helpコマンドで表示されるテキストは、svnバイナリのメインソースコードファイルで直接管理されています。これはこちらでオンラインで確認できます。これらのヘルプテキストを別のファイル形式に移動することが提案されています。
これにより、ヘルプテキスト翻訳のメンテナンスが容易になり、各svnサブコマンドの UNIX スタイルのマニュアルページを配布できるようになり、ヘルプテキストとリファレンスセクションをSubversion Bookに統合することも可能になる可能性があります。
提案されているように、svn helpチュートリアルモードを追加して、新しいユーザーが最初にドキュメントを参照することなく Subversion を簡単に使い始められるようにすることも提案されています。
必要な技術スキル
'svn diff' のカスタマイズ可能な動作を増やす。
完全にカスタマイズ可能な外部 diff 呼び出しのサポート、およびテキスト以外のタイプに対する外部 diff コマンドのサポートを追加します。詳細については、issue #2044 および issue #2447 を参照してください。
必要な技術スキル
'svn mergeinfo' の XML 出力
教えるsvn mergeinfoXML 出力を作成します。詳細については、issue #4245 を参照してください。
必要な技術スキル
'svnadmin unpack' を実装する
FSFS リポジトリをパックすると、そのシャードサイズは変更できなくなります。また、後のリリースのパック改善の恩恵を受けることもできません。
追加するunpacksvnadmin のサブコマンドを使用して、パックされた FSFS リポジトリをパックされていない状態に戻します。リポジトリは、アンパック処理中はオフラインになります(ライブリポジトリのパックとは対照的です)。後で改善される可能性のあるものには、repackとreshard.
必要な技術スキル
相互運用性テストを有効にする。
テストフレームワーク(make check)は、異なるクライアントおよびサーバーバージョン(たとえば、1.8-dev クライアントおよび 1.7 サーバー、またはその逆)でのテストに対するサポートが限られています。このような相互運用性/互換性テストを簡単に実行できるようにします。理想的には、これらのテストを定期的に実行するためのビルドスレーブを設定するための基礎も築きます(ハードウェアは提供します)。
関連する目標は、古いオンディスク形式との互換性ですが、執筆時点では、--server-minor-versionオプションとupgrade_tests.py必要なものをカバーしていると考えています。
必要な技術スキル
上記に当てはまるものがない? issue tracker でプロジェクトのアイデアを見つけましょう!
私たちのissue trackerには、多くの未解決のタスクと修正されていないバグが含まれています。比較的簡単に修正できる可能性のある issue のリストは良い出発点です。
貢献方法の詳細について、または貢献について話し合う場合は、dev@subversion.apache.orgまでご連絡ください。
dev@リストは公開アーカイブされているため、誰でもそこに送信された情報を読むことができ、そこに送信された情報は後で消去できないことに注意してください。