2

BitBucket でフォークされたレポがあります。

$ hg paths
default = https://bitbucket.org/mine/project
upstream = https://bitbucket.org/theirs/project

ここで、レポの (ローカル) 状態をそのアップストリームと比較したいと思います。git を使用して次のように記述しますgit diff --stat upstream/master origin/masterが、hg はリモート ブランチ名を引数として受け入れないようです。

$ hg diff --stat upstream/default default/default
default/default: No such file or directory
upstream/default: No such file or directory

おそらくrevsetとして指定できると思いますが、正しい構文を取得するのに問題があり、例が見つかりません。

質問Mercurial - ローカルとリモートのリポジトリを比較しますか? 関連しているように見えますが、ローカルとリモートの状態の違いを示しているだけです。リモートの状態と、それがフォークされた上流のリモートの違いを確認したいと思います。

4

3 に答える 3

2

質問 Mercurial - ローカルとリモートのリポジトリを比較しますか? 関連しているように見えますが、ローカルとリモートの状態の違いを示しているだけです。リモートの状態と、それがフォークされた上流のリモートの違いを確認したいと思います。

Mercurial には local-remote 状態は含まれません。ローカル状態とリモート状態がありますが、リモートが最後にどのように見えたかのローカルメモリはありません。99% の用途で、質問の一般的な形式であるプッシュまたはプルを行った場合に何が得られるかを見つけhg incoming upstreamて教えてくれます。hg outgoing upstream

Mercurial でブックマークをブランチとして使用している場合 (Mercurial 機能のブックマークは git ブランチに最も近い類似物です) 、および行に追加--bookmarksすると、ローカルとリモートの違いが出力でわかります。incomingoutgoingfeaturebranchbookmarkfeaturebranchbookmark

于 2013-05-28T15:49:33.697 に答える
0

hg summary --remoteフォーム で言及された質問で提案され ましたhg summary --remote -R UPSTREAM-BUNDLEか?

なぜなら:

--remote オプションを使用すると、着信および発信の変更のデフォルト パスがチェックされます。

つまり、アップストリームに対して使用できます。アップストリーム データは何らかの形で既にローカルである必要があります

-R --repository REPO リポジトリのルート ディレクトリまたはオーバーレイ バンドル ファイルの名前

そして、リポジトリの代わりにバンドル( `hg incoming ... --bundle の結果)でコマンドを偽装できます

PS : 両方のリモートからの 2 プルと 2 つのヘッドの diff の方が高速です。

于 2013-05-28T10:38:02.590 に答える