gitでは、「git commit --verbose」を実行して、メッセージエディターに差分を表示できます。Mercurialにはオプションがありません。メッセージエディタなどで差分を表示するための水銀プラグインはありますか?
4 に答える
簡単な答え:git commit --verbose
Mercurialに相当するものはありませんが、ハッキングすることは可能です。
編集テキストはMercurialソースにハードコーディングされているため、プラグインや構成で直接変更することはできません。
最善の方法は、hgrcのui.editor設定をハックして、テキストをエディターに直接追加することです。hg-commit-editorというスクリプトを作成しました。
#!/bin/sh
echo 'HG: ------------------------ >8 ------------------------' >> $1
hg diff >> $1
editor $1
exit $?
次に、hgrcでコミットエディタとして設定します。
[ui]
editor = hg-commit-editor
これにより、「hg diff」の出力が編集テキストファイルの下部の特別な行(ソース)の後に追加されるため、コミットメッセージの一部として含まれません。
直接ではありませんが、組み合わせることができます:
「Mercurial:コマンドラインに複数行のコミットメッセージがありますか?」
hg commit -l filename.txt
(エディターを開かずにコミットします)- 「によって生成された「コミットメッセージファイル」をカスタマイズするにはどうすればよい
hg commit
ですか?」
生成したばかりのテキストをコミットメッセージとして使用すると、エディタが表示されたときに表示されますhg commit
。
と: - 「Mercurial(hg)では、「hg push」が発行された場合にプッシュされるファイルのリストをどのように表示しますか?」
hg -q outgoing --style ~/out-style.txt | sort -u
または:
hg outgoing -v |grep files: |cut -c 14- |tr ' ' '\n' |sort -u
つまり、コミットメッセージとして正しい情報(プッシュされるファイルのリスト)を含むファイルを生成します。
最も簡単な解決策は、これをダウンロードして(raw
左側のリンクを使用)、に入れてから、環境変数をこのスクリプトに$PATH
設定することです。HGEDITOR
を実行するhg commit
と、別のウィンドウに差分が表示されます。
https://www.mercurial-scm.org/wiki/hgeditorも参照してください
@Mu Mindのスクリプトは引き続き機能するはずであり、。のように動作させたい場合はおそらく望ましいでしょうgit commit --verbose
。
まったく同じ結果ではありませんが、最も近い反復:
コミットする前にhg diff
、WCでdiffを確認できます。エイリアス拡張を使用して、コマンドペア「hgdiff&hgcommit」のエイリアスを作成できます。