Package: devscripts

Version: 2.11.2
Severity: wishlist
Tags: patch

When using a mercurial repository with patch queues, debcommit should
refresh the current patch instead of committing the changes.

-- Package-specific info:

--- /etc/devscripts.conf ---

--- ~/.devscripts ---
DEBSIGN_KEYID=36d4e4f5

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.1.0-1-amd64 (SMP w/6 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages devscripts depends on:
ii  dpkg-dev   1.16.1.2
ii  libc6      2.13-21 
ii  perl       5.14.2-6
ii  python     2.7.2-9 
ii  python2.6  2.6.7-4 
ii  python2.7  2.7.2-8 

Versions of packages devscripts recommends:
ii  at                        3.1.13-1             
ii  curl                      7.23.1-2             
ii  dctrl-tools               2.20                 
ii  debian-keyring            2011.12.01           
ii  dput                      0.9.6.2              
ii  equivs                    <none>               
ii  fakeroot                  1.18.2-1             
ii  gnupg                     1.4.11-3             
ii  libcrypt-ssleay-perl      0.57-2+b3            
ii  libjson-perl              2.53-1               
ii  libparse-debcontrol-perl  2.005-3              
ii  libsoap-lite-perl         0.714-1              
ii  liburi-perl               1.59-1               
ii  libwww-perl               6.03-1               
ii  lintian                   2.5.4                
ii  man-db                    2.6.0.2-3            
ii  patch                     2.6.1-2              
ii  patchutils                0.3.2-1              
ii  python-debian             0.1.21               
ii  python-magic              5.09-2               
ii  sensible-utils            0.0.6                
ii  strace                    4.5.20-2.3           
ii  unzip                     6.0-5                
ii  wdiff                     0.6.5-1              
ii  wget                      1.13.4-1             
ii  xz-utils                  5.1.1alpha+20110809-3

Versions of packages devscripts suggests:
pn  bsd-mailx [mailx]            8.1.2-0.20111106cvs-1
pn  build-essential              11.5                 
pn  cvs-buildpackage             <none>               
pn  devscripts-el                35.2                 
pn  gnuplot                      <none>               
pn  libauthen-sasl-perl          <none>               
pn  libfile-desktopentry-perl    0.04-3               
pn  libnet-smtp-ssl-perl         1.01-3               
pn  libterm-size-perl            0.2-4+b3             
pn  libtimedate-perl             1.2000-1             
pn  libyaml-syck-perl            <none>               
pn  mutt                         <none>               
pn  openssh-client [ssh-client]  1:5.9p1-2            
pn  svn-buildpackage             0.8.4                
pn  w3m                          <none>               

-- no debconf information
>From 6bf9659bedff168e5ac2a59dfa86237d5a28c197 Mon Sep 17 00:00:00 2001
From: Javi Merino <cibervi...@gmail.com>
Date: Sat, 10 Dec 2011 16:32:50 +0000
Subject: [PATCH] debcommit: Learn to commit to hg patch queues

---
 scripts/debcommit.pl |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/scripts/debcommit.pl b/scripts/debcommit.pl
index 815b786..f255786 100755
--- a/scripts/debcommit.pl
+++ b/scripts/debcommit.pl
@@ -517,7 +517,7 @@ sub commit {
 	if (@files_to_commit and $all);
 
     my $action_rc;  # return code of external command
-    if ($prog =~ /^(cvs|svn|svk|hg)$/) {
+    if ($prog =~ /^(cvs|svn|svk)$/) {
 	if (!@files_to_commit && $onlydebian) {
 	    @files_to_commit = ("debian");
 	}
@@ -583,6 +583,18 @@ sub commit {
 	    $action_rc = action($prog, "record", "--logfile", "$fh", "-a", @files_to_commit);
 	}
     }
+    elsif ($prog eq 'hg') {
+	if (!@files_to_commit && $onlydebian) {
+	    @files_to_commit = ("debian");
+	}
+
+	if ($diffmode) {
+            $action_rc = action($prog, "diff", @files_to_commit);
+        } else {
+            my $commit_type = (-s ".hg/patches/status")? "qref" : "commit";
+	    $action_rc = action($prog, $commit_type, "-m", $message, @files_to_commit);
+        }
+    }
     else {
 	die "debcommit: unknown program $prog";
     }
-- 
1.7.7.3

Reply via email to