diff options
author | Nathan Phillip Brink <binki@gentoo.org> | 2011-10-07 05:00:46 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-10-07 07:28:01 -0700 |
commit | 1cdf41d1b5c17ac593f0d61a90b8d2a7db6b494d (patch) | |
tree | 3476cf1f4d1bc215bf6d3d829a0e3df10faa8286 | |
parent | ca7bef7821876791a26a5f9df6938f4c77fe571f (diff) | |
download | portage-1cdf41d1b5c17ac593f0d61a90b8d2a7db6b494d.tar.gz portage-1cdf41d1b5c17ac593f0d61a90b8d2a7db6b494d.tar.bz2 portage-1cdf41d1b5c17ac593f0d61a90b8d2a7db6b494d.zip |
Don't do a split signed Manifest commit when no headers will change. Fixes bug #340475.
-rwxr-xr-x | bin/repoman | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/bin/repoman b/bin/repoman index 7943f54ef..6b6a1974e 100755 --- a/bin/repoman +++ b/bin/repoman @@ -2435,10 +2435,11 @@ else: print("* aborting commit.") sys.exit(1) - if vcs in ('cvs', 'svn') and (myupdates or myremoved): + # Handle the case where committed files have keywords which + # will change and need a priming commit before the Manifest + # can be committed. + if (myupdates or myremoved) and myheaders: myfiles = myupdates + myremoved - if not myheaders and not sign_manifests: - myfiles += mymanifests fd, commitmessagefile = tempfile.mkstemp(".repoman.msg") mymsg = os.fdopen(fd, "wb") mymsg.write(_unicode_encode(commitmessage)) @@ -2539,7 +2540,6 @@ else: portage.util.write_atomic(x, b''.join(mylines), mode='wb') - manifest_commit_required = True if vcs in ('cvs', 'svn') and (myupdates or myremoved): myfiles = myupdates + myremoved for x in range(len(myfiles)-1, -1, -1): @@ -2647,10 +2647,13 @@ else: level=logging.ERROR, noiselevel=-1) sys.exit(retval) - if vcs in ['git', 'bzr', 'hg'] or manifest_commit_required or signed: + if True: myfiles = mymanifests[:] - if vcs in ['git', 'bzr', 'hg']: + # If there are no header (SVN/CVS keywords) changes in + # the files, this Manifest commit must include the + # other (yet uncommitted) files. + if not myheaders: myfiles += myupdates myfiles += myremoved myfiles.sort() |