Index: bin/repoman =================================================================== --- bin/repoman (revision 15832) +++ bin/repoman (revision 15833) @@ -497,6 +497,12 @@ elif os.path.isdir(os.path.join(portdir_overlay, ".hg")): vcs = "hg" +# Note: We don't use ChangeLogs in distributed SCMs. +# It will be generated on server side from scm log, +# before package moves to the rsync server. +# This is needed because we try to avoid merge collisions. +check_changelog = vcs in ('CVS', 'SVN') + vcs_local_opts = repoman_settings.get("REPOMAN_VCS_LOCAL_OPTS", "").split() vcs_global_opts = repoman_settings.get("REPOMAN_VCS_GLOBAL_OPTS") if vcs_global_opts is None: @@ -1275,11 +1281,8 @@ relative_path + ': %s' % error_match.group(1)) del mydigests - # Note: We don't use ChangeLogs in distributed SCMs. - # It will be generated on server side from scm log, - # before package moves to the rsync server. - # This is needed because we try to avoid merge collisions. - if vcs not in ("git", "hg") and "ChangeLog" not in checkdirlist: + + if check_changelog and "ChangeLog" not in checkdirlist: stats["changelog.missing"]+=1 fails["changelog.missing"].append(x+"/ChangeLog") @@ -1337,7 +1340,8 @@ if repolevel < 2: ebuild_path = os.path.join(catdir, ebuild_path) ebuild_path = os.path.join(".", ebuild_path) - if not changelog_modified and ebuild_path in new_ebuilds: + if check_changelog and not changelog_modified \ + and ebuild_path in new_ebuilds: stats['changelog.ebuildadded'] += 1 fails['changelog.ebuildadded'].append(relative_path)