1

Mercurial でバージョン管理された Eclipse CDT プロジェクトで、複数のアシスタント開発者と協力する必要があります。このファイルには、ビルド設定などの Eclipse プロジェクトの設定が定義されてい.cprojectます。

このファイルが Mercurial によって追跡される場合、開発者は、お互いの設定を上書きしないようにコミットするときに常に注意する必要があります。

もちろん.cproject、最初からファイルを追加しないことでこれを回避できますが、これも不便です。

  1. プロジェクト ファイルが壊れた場合に以前のバージョンに戻れるように、プロジェクト ファイルの変更を追跡したいと考えています。
  2. プロジェクト ファイルを新しい開発者と共有して、新しい開発者が私の設定を確認し、必要な変更を加えられるようにしたい

プロジェクト ファイルのユーザー固有のバージョンを追跡し、同時に保持する便利な方法はありますか?

4

2 に答える 2

1

標準的なアプローチは次のとおり.cprojectです。フォルダを追加し、そこにtemplatesサンプル コピーを置きます.cproject。新しいプロジェクト メンバーがコピーを作成し、好みに合わせてカスタマイズします。これにより、テンプレートの作成者として、他のユーザーとは共有しない独自のカスタマイズを行うこともできます。

制限は、既定のプロファイルを定期的に変更すると、変更が自動的に全員に反映されないことです。他のプロジェクト メンバーにそれらを適用するように指示する必要があります。しかし、とにかくこの場合、自動伝播は良い考えのようには思えません。

于 2013-05-16T10:45:17.827 に答える
0

Mercurial Queues を使用して、ユーザー固有のパッチを管理できます。パッチを共有するために、MQ はパッチ リポジトリをサポートしています。

パッチとパッチ リポジトリをセットアップするための基本的なワークフローは次のとおりです。

cd repo
hg init --mq

echo a1 > a
hg commit -A -minit

hg qnew changing.a
echo a2 >> a
hg qrefresh

hg annotate a
> 0: a1
> 1: a2

hg -R $(hg root)/.hg/patches commit -m"my patches"

クローンをセットアップするには:

hg qclone file://$(pwd)/repo clone_repo
cd clone_repo

hg annotate a
> 0: a1

hg qpush -a
hg annotate a
> 0: a1
> 1: a2

基になる変更セットを変更して、パッチを再適用することもできます。

hg qpop -a
echo a3 > a
hg commit -m"changing a"
hg qpush -a

hg annotate a
> 1: a3
> 2: a2

クローンを更新する最も簡単な方法は、プルして更新し、パッチを再適用することです。

cd clone_repo
hg qpop -a
hg pull -u
hg qpush -a

hg annotate a
> 1: a3
> 2: a2

MQ の説明は、Mercurial bookMercurial wikihg help mq 、および最新のドキュメントの実行で見つけることができます。

于 2013-05-16T08:13:48.307 に答える