[PATCH 3 of 5] mq: upgrade the patch to HG format when adding the author name with qrefresh

Yann E. MORIN yann.morin.1998 at anciens.enib.fr
Mon Aug 10 16:07:04 CDT 2009


# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998 at anciens.enib.fr>
# Date 1249937352 -7200
# Node ID 0b0dff135c980063747ce292ed49a07a13c3677e
# Parent  3e9fc0157db68b42e4a38437e5b273a8052efe6b
mq: upgrade the patch to HG format when adding the author name with qrefresh

When setting the author field with qrefresh (-u|-U), and the patch does have
neither a 'From:' nor a '# User' header, add the author name as such:
 - if the patch has a 'Date:' header, add a 'From:' header
 - otherwise, upgrade the patch to the Mercurial extended patch format, and
   add a '# From' header

diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -144,7 +144,11 @@
                 patchheaderat = self.comments.index('# HG changeset patch')
                 self.comments.insert(patchheaderat + 1, '# User ' + user)
             except ValueError:
-                self.comments = ['From: ' + user, ''] + self.comments
+                if self._hasheader(['Date: ']):
+                    self.comments = ['From: ' + user] + self.comments
+                else:
+                    tmp = ['# HG changeset patch', '# User ' + user, '']
+                    self.comments = tmp + self.comments
         self.user = user
 
     def setdate(self, date):
diff --git a/tests/test-mq-header-date.out b/tests/test-mq-header-date.out
--- a/tests/test-mq-header-date.out
+++ b/tests/test-mq-header-date.out
@@ -231,7 +231,8 @@
 1: Three (again) - test
 0: [mq]: 1.patch - test
 ==== qref -u -d
-From: john
+# HG changeset patch
+# User john
 
 
 diff -r ... 8
@@ -261,7 +262,8 @@
 1: Three (again) - test
 0: [mq]: 1.patch - test
 ==== qref -u -d
-From: john
+# HG changeset patch
+# User john
 
 Nine
 
diff --git a/tests/test-mq-header-from.out b/tests/test-mq-header-from.out
--- a/tests/test-mq-header-from.out
+++ b/tests/test-mq-header-from.out
@@ -32,7 +32,8 @@
 1: [mq]: 2.patch - test
 0: [mq]: 1.patch - mary
 ==== qref -u
-From: jane
+# HG changeset patch
+# User jane
 
 
 diff -r ... 2
@@ -117,7 +118,8 @@
 1: [mq]: 2.patch - jane
 0: [mq]: 1.patch - mary
 ==== qref -u
-From: jane
+# HG changeset patch
+# User jane
 
 Four
 




More information about the Mercurial-devel mailing list