repoman: fix manifest for --echangelog
authorZac Medico <zmedico@gentoo.org>
Thu, 22 Aug 2013 02:19:19 +0000 (19:19 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 22 Aug 2013 02:19:19 +0000 (19:19 -0700)
bin/repoman

index 31ae7475510aa980e5b65c81fdaaf68e76fe74d7..5250af04ec2462d1d7b6eb9c3bbc800e3a82ed53 100755 (executable)
@@ -2719,6 +2719,7 @@ else:
 
        commitmessage += commit_footer
 
+       broken_changelog_manifests = []
        if options.echangelog in ('y', 'force'):
                logging.info("checking for unmodified ChangeLog files")
                committer_name = utilities.get_committer_name(env=repoman_settings)
@@ -2774,6 +2775,8 @@ else:
                                # regenerate Manifest for modified ChangeLog (bug #420735)
                                repoman_settings["O"] = checkdir
                                digestgen(mysettings=repoman_settings, myportdb=portdb)
+                       else:
+                               broken_changelog_manifests.append(x)
 
        if myautoadd:
                print(">>> Auto-Adding missing Manifest/ChangeLog file(s)...")
@@ -3003,6 +3006,11 @@ else:
                        repoman_settings["O"] = os.path.join(repodir, x)
                        digestgen(mysettings=repoman_settings, myportdb=portdb)
 
+       elif broken_changelog_manifests:
+               for x in broken_changelog_manifests:
+                       repoman_settings["O"] = os.path.join(repodir, x)
+                       digestgen(mysettings=repoman_settings, myportdb=portdb)
+
        signed = False
        if sign_manifests:
                signed = True