私が働いているJavaのプロジェクトがあります。
Mercurial でプロジェクトを作成するには、すべてのクラスのリポジトリを作成する必要があることを知っています。
クラスがたくさんあるので、リポジトリのコピーと私がしなければならない変更で作られたjarのコピーを持つことができると思います。
したがって、Mercurial 用語では次のようになります。
- すべてのクラスを含むメイン リポジトリ
- 変更と新しいクラスを含む小さなレポ
BリポジトリからAリポジトリにマージしたい。そして、B リポジトリに存在するクラス (*.java) のみをプルして更新したいと考えています。
私はこれを試してみましたが失敗しました:
- B リポジトリを作成するには、A リポジトリのクローンを作成し、すべてのファイルを削除します。
- .java を変更する必要があるときは
wget
、ローカル マシンの Mercurial サーバーで特定のファイルを編集します。ファイルが新しい場合は、hg add を実行するだけです。 hg commit -I file1 -i file2 ... -i fileN
Bリポジトリの作業フォルダに存在するすべてのファイルに対して行うコミットを行うには。
次に、失敗した部分:
- 既存のファイルだけを hg 更新することはできません。
- B レポが A レポにマージされると、すべて問題ありません。
-I
しかし、パラメータでマージされた状態の hg commit を実行できません。そのすべてか無か。 - リポジトリからプルして更新しようとすると、同じ問題が発生します 4.
hg pull -f
クローンではなく、B リポジトリの無関係なリポジトリから開始することを認識しています。しかし、アップデートの同じ問題があります。そして、それはかなり醜く見えます。
移植プラグインが役立つと思います。これも読みました Mercurialで2つのプロジェクトを結合する方法? .
この履歴が B レポで生成されたとしても、A レポでファイルの履歴を保存することは必須です。
これを達成するための最良の方法を知っていますか?
ありがとう