From: Zac Medico Date: Wed, 18 Aug 2010 14:37:28 +0000 (-0700) Subject: Bug #324075 - If the vcs doesn't preserve mtimes then disable the X-Git-Tag: v2.2_rc68~104 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ba283624d5e607deffb9b5849ea4890ef773e739;p=portage.git Bug #324075 - If the vcs doesn't preserve mtimes then disable the copyright date check unless the ebuild has just been added or modified. --- diff --git a/bin/repoman b/bin/repoman index 4ba227397..df4232516 100755 --- a/bin/repoman +++ b/bin/repoman @@ -517,7 +517,7 @@ else: check_changelog = vcs in ('cvs', 'svn') # Disable copyright/mtime check if vcs does not preserve mtime (bug #324075). -check_copyright_mtime = vcs not in ('git',) +vcs_preserves_mtime = vcs not in ('git',) vcs_local_opts = repoman_settings.get("REPOMAN_VCS_LOCAL_OPTS", "").split() vcs_global_opts = repoman_settings.get("REPOMAN_VCS_GLOBAL_OPTS") @@ -939,6 +939,7 @@ else: print(green("\nRepoMan scours the neighborhood...")) new_ebuilds = set() +modified_ebuilds = set() modified_changelogs = set() mychanged = [] mynew = [] @@ -970,6 +971,7 @@ elif vcs == "hg": if vcs: new_ebuilds.update(x for x in mynew if x.endswith(".ebuild")) + modified_ebuilds.update(x for x in mychanged if x.endswith(".ebuild")) modified_changelogs.update(x for x in chain(mychanged, mynew) \ if os.path.basename(x) == "ChangeLog") @@ -1791,8 +1793,10 @@ for x in scanlist: # Syntax Checks relative_path = os.path.join(x, y + ".ebuild") full_path = os.path.join(repodir, relative_path) - if not check_copyright_mtime: - pkg.mtime = None + if not vcs_preserves_mtime: + if ebuild_path not in new_ebuilds and \ + ebuild_path not in modified_ebuilds: + pkg.mtime = None try: # All ebuilds should have utf_8 encoding. f = codecs.open(_unicode_encode(full_path,