リモート リポジトリと比較して、プロジェクトのローカル コピーの完全な状態を知りたいということはよくあります。完全なステータスとは、次のことを意味します。
- ローカルにコミットされていない変更はありますか?
- ローカルにプッシュされていないコミットはありますか?
- リモートでプルされていないコミットはありますか?
- 私はデフォルトブランチの先頭にいますか?
HgView や TortoiseHg などのグラフィカル ツール、または IDE を使用して Mercurial リポジトリを処理できることはわかっていますが、複数のプロジェクト/リポジトリを同時に操作する場合は CLI を使用する方が便利だと思います。
私が現在行っている方法は、エイリアスを使用することです
alias hg_full='hg incoming; hg outgoing; hg status'
すべてがうまくいっている場合 (つまり、ローカルがリモートと同期している場合)、次の方法でデフォルトの先頭にいることを確認します。
hg update default
このアプローチは完全に機能していますが、遅いリモート リポジトリで作業している場合、更新を実行する前に受信コマンドと送信コマンドの両方が戻るのを待つのは非常に面倒です。
(拡張機能またはより高度なコマンドを使用して) ローカル コピーの完全なステータス サマリーを、実行せずにリモート リポジトリと比較する方法はありますhg in
かhg out
?