# This went live Wednesday, July 4, 2012 at 10:00 UTC
# For more details, please see: http://archives.gentoo.org/gentoo-dev-announce/msg_00000.xml
# and/or GLEP 59.
manifest-hashes = SHA256 SHA512 WHIRLPOOL

# 2013-04-09 gentoo's council says to deprecate EAPIs 1 and 2 (bug #470670).
# 2014-02-25 council meeting deprecated EAPIs 0 and 3.
#eapis-banned = 1
eapis-deprecated = 0 1 2 3

# Bug #337853 - gentoo's council says to enable
# --echangelog by default for the "gentoo" repo
# INFRA NOTE 2015/08/08: No more old ChangeLogs in Git
update-changelog = false

# Make egencache generate newer (more reliable)
# md5-dict cache format (see bug #409445).
# NOTE: list md5-dict first so clients prefer it
# INFRA NOTE: Format 'pms' was removed on Aug 6 2012. (Announced prior as Aug 1
# 2012 was the removal date)
cache-formats = md5-dict

# Support for implicit masters is deprecated, so we need to explicitly
# specify that this repo does not dependent on any masters, in order
# to distinguish it from repos that rely on the deprecated behavior.
masters =

# Use thin Manifests for Git
thin-manifests = true

# Sign Git commits, and NOT Manifests
sign-commits = true
sign-manifests = false
