]> git.decadent.org.uk Git - dak.git/commitdiff
Merge remote-tracking branch 'drkranz/fixes' into merge
authorJoerg Jaspert <joerg@debian.org>
Tue, 14 May 2013 18:13:05 +0000 (20:13 +0200)
committerJoerg Jaspert <joerg@debian.org>
Tue, 14 May 2013 18:13:05 +0000 (20:13 +0200)
* drkranz/fixes:
  Close master bugs only, not merged ones (Closes:# 707808)
  Whoops, removing changelogs lock on success

config/debian/dinstall.functions
dak/rm.py

index 47fa563a59f89aee42b703b6b8b880aee6c3220f..295fbb7ffc67623268e8d99b85a702ee57e746b8 100644 (file)
@@ -629,6 +629,7 @@ function changelogs() {
         rsync -aHW --delete --delete-after --ignore-errors /srv/backports-master.debian.org/export/changelogs/. .
         trap remove_changelog_lock EXIT TERM HUP INT QUIT
     fi
+    remove_changelog_lock
 }
 
 function gitpdiff() {
index a7e53555cb60d1ced23190c0f071612b6c62fcb6..e90cfea0c23eb39bec2742d722f22a87efd7d6e7 100755 (executable)
--- a/dak/rm.py
+++ b/dak/rm.py
@@ -525,8 +525,15 @@ def main ():
             utils.fubar("Closing bugs for multiple source packages is not supported.  Do it yourself.")
         Subst_close_other["__BUG_NUMBER_ALSO__"] = ""
         Subst_close_other["__SOURCE__"] = source_pkg
+        merged_bugs = set()
         other_bugs = bts.get_bugs('src', source_pkg, 'status', 'open', 'status', 'forwarded')
         if other_bugs:
+            for bugno in other_bugs:
+                if bugno not in merged_bugs:
+                    for bug in bts.get_status(bugno):
+                        for merged in bug.mergedwith:
+                            other_bugs.remove(merged)
+                            merged_bugs.add(merged)
             logfile.write("Also closing bug(s):")
             logfile822.write("Also-Bugs:")
             for bug in other_bugs: