2010-04-21 2 views
6

Gibt es eine Möglichkeit, hg com so zu konfigurieren, dass in der Commit-Nachrichtendatei, die im externen Editor erscheint, nicht nur angezeigt wird, welche Dateien geändert wurden (in den HG: Zeilen), es zeigt tatsächlich den vollen Unterschied an? Ich würde lieber die Ausgabe ansehen und meine Commit-Nachricht gleichzeitig aus dem Komfort meines Texteditors erstellen, anstatt vorher auf der Kommandozeile hg diff zu machen.Wie bekomme ich mercurial um das diff während `hg com` zu zeigen?

+0

nur um die Frage zu ergänzen: OP sucht nach einem Äquivalent zu '$ git commit -v' –

Antwort

1

TortoiseHg tut dies aus der Box: ein oberes Panel für die Commit-Nachricht und darunter, ein linkes Fenster mit den betroffenen Dateien und ein rechtes Fenster mit den diffs nacheinander.

2

Mercurial hat dies nicht als integrierte Funktion, aber es ist einfach in Ihrem Editor zu simulieren (wie durch Commit gestartet).

Hier ist ein Beispiel unter Verwendung von VIM: https://www.mercurial-scm.org/wiki/DiffsInCommitMessageInVIM

Das hgeditor Skript https://www.mercurial-scm.org/hg/hg-stable/raw-file/tip/hgeditor weitere Beispiele.

Die Grund jist ist:

  1. bei Editor Start laufen hg diff in eine temporäre Datei umleiten
  2. Editor laden sowohl die Commit-Nachricht-Datei und die diff
5

Ab 2016 haben, Dies ist mit der Konfigurationsoption committemplate möglich. Das Hinzufügen des folgenden zu einer Datei hgrc enthält das Diff in dem Editor-Fenster inline, während Sie Ihre Commit-Nachricht eingeben.

[committemplate] 
changeset = {desc}\n\n 
    HG: {extramsg} 
    HG: user: {author}\n{ifeq(p2rev, "-1", "", 
    "HG: branch merge\n") 
    }HG: branch '{branch}'\n{if(currentbookmark, 
    "HG: bookmark '{currentbookmark}'\n") }{subrepos % 
    "HG: subrepo {subrepo}\n"    } 
    {splitlines(diff()) % 'HG: {line}\n'} 

Siehe hg help hgrc und für committemplate um weitere Informationen zu suchen.

Verwandte Themen