From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 6B8B9138262 for ; Wed, 18 May 2016 16:29:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6100E14215; Wed, 18 May 2016 16:29:31 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 04B8514215 for ; Wed, 18 May 2016 16:29:30 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 805A7340CF4 for ; Wed, 18 May 2016 16:29:29 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 5435A964 for ; Wed, 18 May 2016 16:29:27 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1463588878.8e57a8b34cc552267dd987f744f04d021041c75b.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: bin/ X-VCS-Repository: proj/portage X-VCS-Files: bin/egencache X-VCS-Directories: bin/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 8e57a8b34cc552267dd987f744f04d021041c75b X-VCS-Branch: master Date: Wed, 18 May 2016 16:29:27 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: fcb9db04-2988-45f8-aabf-70eee7e2b0cd X-Archives-Hash: b5871219f18295971e7522c87fdf663b commit: 8e57a8b34cc552267dd987f744f04d021041c75b Author: Zac Medico gentoo org> AuthorDate: Fri Apr 8 05:34:15 2016 +0000 Commit: Zac Medico gentoo org> CommitDate: Wed May 18 16:27:58 2016 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=8e57a8b3 egencache --update-changelogs: fix timestamp assumptions (bug 579292) Since commit times are not necessarily ordered, synchronize the ChangeLog mtime with the last commit time, and use exact comparison to detect changes. X-Gentoo-bug: 579292 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=579292 Acked-by: Brian Dolbec gentoo.org> bin/egencache | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bin/egencache b/bin/egencache index af0e1f2..80738cf 100755 --- a/bin/egencache +++ b/bin/egencache @@ -775,12 +775,16 @@ class GenChangeLogs(object): # This cp has not been added to the repo. return + lmod = long(lmod) + try: - cmod = os.stat('ChangeLog').st_mtime + cmod = os.stat('ChangeLog')[stat.ST_MTIME] except OSError: cmod = 0 - if float(cmod) >= float(lmod): + # Use exact comparison, since commit times are + # not necessarily ordered. + if cmod == lmod: return try: @@ -903,6 +907,7 @@ class GenChangeLogs(object): '\n%s\n\n' % '\n'.join(self._wrapper.fill(x) for x in body)) output.close() + os.utime(self._changelog_output, (lmod, lmod)) def _task_iter(self): if not os.path.isdir(os.environ.get('GIT_DIR', os.path.join(self._repo_path, '.git'))):