0

レポの開発バージョンと QA バージョンがある状況があります。

私は常にプッシュ/プルしたいコードを含むディレクトリfooを持っています。通常、その地域に固有のアイテムが含まれているディレクトリバーがあります (それらが何であるかは関係ありません) が、プッシュ/プルしたいアイテムが含まれることがあります。

  • qa にプッシュ - foo のみを取得するようにしますが、bar の変更は無視します。
  • qa にプッシュ - foo と bar の両方を取るような方法で。
  • qa へのプッシュ - foo といくつかの bar がかかるような方法で。

私が知る限り、マージしてから特定のファイルを元に戻し、これらをコミットする必要があります。これは問題ありませんが、少し後ろ向きに見えます。Mercurial でこのワークフロー (または同様のワークフロー) をサポートするためのより良い方法はありますか?

4

1 に答える 1

1

Chris Morgan が言うように、Mercurial は実際にはそうではありません。別のリポジトリにプッシュすると、いくつかの変更セットがプッシュされます。これらの変更セットにあるものはすべてプッシュされます。

非常に恐ろしい回避策ですが (私の意見では) 考えられる解決策の 1 つは、 Convert--filemap拡張機能を使用して新しいリポジトリを作成し、オプションを使用して不要なものを除外することです。

ただし、これが QA に進む場合、とにかく Mercurial リポジトリが必要でしょうか? (タグ付けされた) バージョンを単純にアーカイブすることができます。デフォルトでは、アーカイブには、.hgarchivalファイルにアーカイブしている変更セットに関する情報が含まれます。例えば

hg archive -X "bar/**" archive.tgz

... archive.tgz「bar」ディレクトリなしで、現在の時点でレポのアーカイブを含むファイルを作成します。-X特定のファイルを除外する場合は、このオプションを複数回使用できます。

于 2013-02-14T17:19:45.157 に答える