As discussed and specified in detail in the following gentoo-dev mailing list thread, http://old.nabble.com/Old-changelogs---eclass-dir-td32726216.html (archive.gentoo.org is missing some mails). I'm planning to implement an (initially manual) log rotation scheme for ChangeLog files in CVS. Please enhance "emerge --changelog" with the capability to search the spill files. For convenience, I assemble here the planned implementation details from the e-mail thread: * General algorithm: - Possible split points are only at the end of years. - Start at the end of the file and go backwards. - Split it whenever the piece after the split point is larger than $size. - Stop if the next split point is less than $delay ago. I suggest 100 KiB for $size and 1 year for $delay * The "old entries" file ChangeLog-YYYY (where YYYY is the year where the last entries come from) will be identical to the current ChangeLog file except for skipping at the start all entries added later than the split point. * The new ChangeLog file will be identical to the current ChangeLog file except for being truncated at the split point, and having a comment at the end referring to the following "old entries file". * Both files will have a valid header. For 18 files in the tree this means adding one split point, profiles/ChangeLog will be split into multiple files.
This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=69d7f169ba2e27cf56746791331c63a019357100
This is fixed in 2.1.10.33 and 2.2.0_alpha73.