2017-03-08 8 views
0

を使用して、私はMercurialのを使用してのBitbucketでホストされている小型のオープンソースのC++プロジェクトを持っています。 今、新しいファイルと新しいビルドターゲットを追加する新機能を開発しています。それ以外の場合は、既存のファイルは変更されません。プライベートアドオン公共事業へのMercurial

私は新しい支店を開設しているが、私はメインのレポにそれをプッシュした後、私は、私は新しい機能がオープンにすることはできませんと言われた...私はレポを閉鎖し、解決策を探し始めました。私は2つの質問を持っています:

  1. この状況にはどんな良いアプローチがありましたか?パブリックとプライベートのリポジトリ間の共通コードに対する修正を同期させることができるものが必要です。プライベートコードをローカルに置いても構いません。私は2つのものを見つけました:

    • 新しいブランチのプライベートステージを使用しました。私はオーバーsubreposを使用したオープンレポ

    • に私は共通のファイルへの秘密のブランチで作るの修正を取得する方法を知りません。これはいくつかのコードを再構成する必要がありますが、クリーナーかもしれません..これは、ドキュメントの "最後の手段"の特徴としてマークされています。

  2. 私はすでに閉鎖コードをレポにプッシュした状況をどのように修正しますか?ブランチをはずしてプッシュしたり、Bitbucketからレポを削除して新しいものを作成する必要がありますか?私はローカルでのみ構内を有する満足していますので

+0

:それはマージがのためにあるものだように...ハード本当に任意の詳細がなくても、細部に行くために私に聞こえる:) サイドノートとして :それは本当にオープンソースプロジェクトの場合は、ご質問を求め、誰がそうしないようにあなたを求めて、あなたはライセンスに従うならば(公にあなたの仕事を共有する権限を持っていないされずに、それをフォークすることができます。時々、名前はブランドであり、名前を変更する必要があるかもしれません)。 – planetmaker

+0

@planetmaker:プロジェクトの唯一の開発者であるため、私はフォークする必要はありません。私はそれをオープンソースにしておき、他の人(主に学生)がコードでそれを使用できるようにします。 –

+0

@planetmaker:彼らは両方の公共および民間のファイルへの変更が含まれている場合、マージのためとして、私は、構内からのコミットをマージするかどうかはわからない - 公共のレポへのプライベートファイルこのコピーではないでしょうか? –

答えて

1

、私は次のことを行っている:

  • を私はそのレポの私のローカルコピーだけでなく、ビットバケットレポから構内を剥奪しました。

  • プライベートレポの私のコピーでは、私は公共から私設の支店への変更をマージし、私的支店で変更された共通のファイルを一般の支店にコピーしました。

  • は、その後、私は地元のそれを維持するために、「秘密」として全体の構内をマーク。将来の仕事のために

、私は逆方向のための構内やhg graftに公衆からの変更を移動するためのhg mergeを使用する予定です。

私の知る限り見ることができるように、これは動作するはずです...同期に関しては

関連する問題