3

Mercurial パッチを最初に適用する (実際にコミットする) ことなく、リモート リポジトリ (bitbucket.org など) にプッシュする方法を理解しようとしています。私の動機は、最終的な作業が完了する前に、まず自分の作業のリモート バックアップを作成し、これらのパッチを他の人と共有したり、別のマシンから作業したりできるようにすることです。

私の通常のワークフローは次のとおりです。

$ hg qnew some-feature -m "work on some feature"

... work on some files

$ hg qref

--> bug or other feature request comes along

$ hg qpop some-feature
$ hg qnew new-feature -m "work on different feature"
... work on new stuff
$ hg qref

その時点で、未完成でコミットされていないパッチをリポジトリにプッシュしたいと思います。Mercurial キューが実際には独自のリポジトリであり、通常の hg リポジトリと同じように操作できることについて読んだことがありますが、私がやろうとしていることに関するワークフローについては不明です。私は自分のシェルで mq コマンドを にエイリアスしましたhg -R $(hg root)/.hg/patchesが、人々がリモート バックアップをどのように管理し、コミットされていないパッチを共有するかについて、フィードバックをいただければ幸いです。ありがとう。

4

3 に答える 3

2

Bitbucket では、リポジトリとパッチ キューの両方を作成できます。Bitbucket はまだパッチ キューに関する詳細な公式ドキュメントを提供していないようですが、その使用方法を説明するブログ投稿があります。

コミットされていないパッチをバックアップ/共有するための基本的なワークフロー コマンドは次のとおりです。

hg init --mq # initialize .hg/patches as a versioned repository (hereafter referred to as the MQ repository)
# manually configure .hg/patches/.hg/hgrc to contain a [paths] section if desired
hg commit --mq # commit in the MQ repository
hg push --mq # push the MQ repository to default remote
hg pull --mq # pull the MQ repository from default remote
hg update --mq/hg merge --mq # same as normal for hg, but operating on the MQ repository

Mercurial の古いバージョンでは、hg init --mqandhg commit --mqコマンドは and として提供されhg qinitていましたhg qcommit(現在は廃止されています)。

于 2012-12-11T16:04:22.210 に答える
1
  • hg push --mqMQ で変更セットとパッチをプッシュします
  • mqcollab - MQ パッチの簡単な交換とコラボレーション
于 2012-12-10T11:44:56.857 に答える
1

でリポジトリを作成し.hg/patches、別のリポジトリとしてプッシュできます。それ以降のバージョンの Mercurial では、これを行うだけhg ci --mqで、パッチ リポジトリの最新バージョンがコミットされます。コミットしたら、それを bitbucket に複製できます。

于 2012-12-11T16:04:37.883 に答える