次の問題に対してどのようにMercurialを使用しますか?Mercurialを使用してプライベート版とパブリック版を分離する
ライブラリコアがあるとします。私は今Extensionというライブラリの拡張を開発したいと思っています。私は、コアを物理的にエクステンションと区別したい、つまりコアがオープンソースライブラリであり、エクステンションがコア上に構築されたプライベートライブラリであるとしましょう(多分私は個人的なものを保持したいと思っています。明らかに、Extensionのソース全体を公開リポジトリにプッシュしたくないのです。しかし、一方では、ExtensionからCoreへの変更(コアにExtensionの一部を "寄付する"ことを決めた場合)やその逆(もし私がバグ修正を取り入れたいのであれば)を押したいかもしれません。
どのようにすればExtensionをCoreにリークさせるリスクを最小限に抑えることができますか(特定の履歴を公開サーバにプッシュすると戻ってきません)。枝?クローン? Mqs?他に何か?
私は現在のところ、クローニングリポジトリに精通しているだけであり、そのシンプルさと非常によく似ています。
編集: 私はこのスキームを考え出しましたが、私はそれをWindowsの下で動作させることはできません。 2つのリポジトリ(コアとエクステンション)。エクステンションには、ブランチの2つがあり、コアとエクステンションもあります。リポジトリごとにMercurialのフックを登録することができますので、拡張ブランチからのチェックインを許可しないコアリポジトリに 'pretxnchangegroup'フックを登録したいと思います。in the Mercurial bookのようなものです。私は窓の下で働くことをかなり得ているわけではありません。だから:
- 誰もがこのようなもの(実際には、トランジションの結果を変えるフック)の例を窓の下に持っていますか?
- エクステンションからコアブランチへのチェリーピックの変更に移植を使用することはできますか?
どのようにしてフックを変更してコアのみを許可することができますか? && exit 0 ||出口1? –