[PATCH 8 of 8] mq: write headers of new patches using patchheader

Mads Kiilerich mads at kiilerich.com
Tue Sep 23 20:00:09 CDT 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1411225617 -7200
#      Sat Sep 20 17:06:57 2014 +0200
# Node ID ea62fe6a743945e745b161c3c79dae9a267bd716
# Parent  154f22c36d16a6244c11cf3c99451b6a2e2fa8fe
mq: write headers of new patches using patchheader

diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -1112,20 +1112,6 @@ class queue(object):
                 raise util.Abort(_('cannot write patch "%s": %s')
                                  % (patchfn, e.strerror))
             try:
-                if self.plainmode:
-                    if user:
-                        p.write("From: " + user + "\n")
-                    if date:
-                        p.write("Date: %d %d\n" % date)
-                else:
-                    p.write("# HG changeset patch\n")
-                    if user:
-                        p.write("# User " + user + "\n")
-                    if date:
-                        p.write("# Date %s %s\n" % date)
-                    p.write("# Parent  "
-                            + hex(repo[None].p1().node()) + "\n")
-
                 defaultmsg = "[mq]: %s" % patchfn
                 editor = cmdutil.getcommiteditor(editform=editform)
                 if edit:
@@ -1154,11 +1140,17 @@ class queue(object):
                     self.seriesdirty = True
                     self.applieddirty = True
                     nctx = repo[n]
-                    if nctx.description() != defaultmsg.rstrip():
-                        msg = nctx.description() + "\n\n"
-                        p.write(msg)
-                    elif not self.plainmode or date or user:
-                        p.write('\n')
+                    ph = patchheader(self.join(patchfn), self.plainmode)
+                    if user:
+                        ph.setuser(user)
+                    if date:
+                        ph.setdate('%s %s' % date)
+                    ph.setparent(hex(nctx.p1().node()))
+                    msg = nctx.description().strip()
+                    if msg == defaultmsg.strip():
+                        msg = ''
+                    ph.setmessage(msg)
+                    p.write(str(ph))
                     if commitfiles:
                         parent = self.qparents(repo, n)
                         if inclsubs:


More information about the Mercurial-devel mailing list