2011-07-05 10 views
2

'A'という名前のリポジトリにチェンジセットをプッシュした後、 'A'になったときに適用されるチェンジセットのリストを表示するにはどうすればいいですか?Mercurialで適用されていないチェンジセットのリストを表示する方法

レポBでは

  1. 私は
  2. がどのように私はチェンジセットが、ステップ1で押し込ん一覧表示することができますレポBに変更レポB
  3. にチェンジを押して、その上で拡大?
+0

最近レポにプッシュされたチェンジセットのリストはありますか? – icabod

+0

それは私の現在のニーズを満たすだろうので、はい。 –

+0

「適用されるのを待っている」とはどういう意味ですか? –

答えて

7

「適用されていない」チェンジセットの意味が不明な場合は、ここにいくつかの考えがあります。

hg pushを実行する前にhg outgoingを実行すると、リポジトリにプッシュされるチェンジセットを簡単に確認できます。デフォルトのオプションを使用してプッシュされるすべてのチェンジセットが表示されます。

同様に、宛先リポジトリでhg incomingを使用して、どのチェンジセットが別のリポジトリから取得されるかを表示できます。

"適用されていない"チェンジセットについては、作業ディレクトリより新しいチェンジセットを意味すると仮定すると、hg log -r .:tipを使用することができます(これはテストする機会がありませんでした)。実際に最近押し出されたものではありません。

編集:-rオプションで設定されたリビジョンを更新する必要があります。より多くの可能性については、Mercurial manpageのレビセットをご覧ください。

+0

構文が間違っています:hg log -r "parents():" hg:解析エラー:引数がありません –

+0

申し訳ありませんが、私はメモリから部分的に書いていました。修正:( – icabod

+0

私は別のものを試しました - 後で家に帰るとき、私は半教育の推測を使うのではなく、実際のシステムでそれを試してみます:) – icabod

5
$ hg summary 
parent: 0:9f47fcf4811f 
. 
branch: default 
commit: (clean) 
update: 2 new changesets (update) <<<<< 

updateビットは、あなたが欲しいと思うものを私に伝えます。

+1

+1私は前に気づかなかったでしょう:) – icabod

0

私は別の答えを書いていましたが、私はここで必要なことを行うためのより良い方法で終わりました(私にとってはもっと良い決定的な解決策がこの記事の最後にあります[EDIT]セクション)。

hg logを使用してください。

具体的には、最初にhg sumコマンドを発行してください。これは私を与える:

parent: 189:77e9fd7e4554 
<some commit message> 
branch: default 
commit: (clean) 
update: 2 new changesets (update) 

2hg sumレポートそのチェンジセットの数に置き換えられる、私は明らかに

hg log -r tip -r 2 -v 

を使用し、これらの2つの新しいチェンジがでできているかを確認します。

これは、tipが最新の(または「適用されていない」)チェンジセットを参照するためです。出力を2つの最新の変更(-l 2)に制限することによって、関心のあるチェンジセットの情報のみが表示されます。-vでは、チェンジセットの影響を受けるファイルのリストも表示されます。

物事を単純にするために、私は私の.bashrcファイルにユーザーコマンドを定義している:これは私がhg sumを入力する(保留中/未適用のチェンジセットの数を取得するため)、その後、hglog x場所を入力することができます

alias hglog="hg log -r tip -l $1" 

xは、hg sumで示されるチェンジセットの数です。

たとえば、カスタムテンプレートを使用するなど、これを行うためのより完全な方法がありますが、洗練されていないと思います。

[EDIT]私はもはやhg sumを入力する必要がないように、私はエイリアスアイデアに拡大することによって、この質問への最も満足な答えに達している (3回目の反復)。

show_pending_changesets() { 
    nb=$(hg sum | grep "update:" | sed 's/update: \([0-9]*\) .*/\1/'); 
    if [ `expr $nb + 1 2> /dev/null` ] ; then 
    hg log -r tip -v -l $nb 
    else 
    echo "Nothing new to report" 
    fi ; 
} 
... 
alias hgwhatsnew=show_pending_changesets 

説明::私はhg sumの出力の(update:で始まるもの)最後の行からチェンジセットの数を抽出するためにsedを使用しています私の.bashrcファイルには、今、これを含んでいます。その数字はhg logに送られます。私がしなければならないことは、hgwと入力してタブで完全にすることだけです。 HTH

関連する問題