2011-07-26 5 views
0

おそらく基本的な行動が、私にとっては、まだ漠然と:商用アプリケーションで使用されるopensourceを変更するベストプラクティス?

私たちは、オープンソースコンポーネント(apacheのハイブ)を使用して商用アプリケーションを開発している、と私たちは、最新の「安定」バージョン(0.7.1)を使用しています、出血の幹の幹ではない。

修正が必要なバグがいくつかあるので、コンポーネントにいくつかの変更を加える必要があります。私たちはそれらを寄付したい、しかし、我々はopensourceコミューターに依存することはできません。そこで、ローカルコピーを変更し、jarファイルをコンパイルして、アプリで使用したいと考えています。

ローカルの変更をどのように処理する必要がありますか?私たちは自分のsvnでopensourceプロジェクトのコピーを維持していますか?私たちはハイブsvnの "支店"や "タグ"からコピーしますか?どのようにして私たちの変更をopensource svnにマージするのでしょうか?私たちがそこに着くまでにはブランチが私たちと違うかもしれないので、私たちはsvnからパッチを作成します。ありがとう、イド

編集:あなたはgitの使用について何を言っていますか?私たちのプロセスの挑戦への答えはハイテクでありえますか?この特定のopensourceもgitリポジトリを公開しているようですが、ローカルコピーを作成するのに役立ちますか?もしそうなら、タグ/ branch/trunkから作成しますか?パッチを安定版で使用し、実行する必要があることを覚えておいてください。出血幹に貢献してください。

+0

開発方法論とソフトウェアライセンスについての質問がProgrammers.SE –

答えて

1

1つのバージョンのパッチを作成した場合、別のバージョンに改善または適用されない場合があります。バグは既に修正されているかもしれません。少なくとも、変更を統合するには何らかの努力が必要です。

私はあなたの最善の策は、イントラネットサーバー上でgit repoを複製することだと言いました。その後、安定したタグからブランチを作成することができます(たとえばour_stable_branch)。デベロッパーはこのイントラネットレポを複製し、変更内容をour_stable_branchにプッシュできます。次に、変更をマスターにマージして、メインのApacheハイブレポにプッシュすることができます。

+0

に適しているので、この質問を議論の対象外とすることにしました。 git repo = trunk +ブランチ全体をクローンし、好きなブランチを選択し、変更をプッシュしてローカルトランクにプッシュし、メインハイブレポトランクにプッシュすることをお勧めします。右? – ihadanny

+0

そういうもの。 gitを最初に読んでください。いくつかのものはSVNとは少し異なります。たとえば、デフォルトでリポジトリ全体をクローンします。また、任意のレポは、他のいくつかのレポのための上流レポになることがあり、ブランチは少し異なって振る舞います。 –

関連する問題