Patrick Lauer posted on Tue, 23 Feb 2016 22:53:32 +0100 as excerpted:

> On 02/23/2016 07:07 PM, Alec Warner wrote:
>> On Tue, Feb 23, 2016 at 9:14 AM, Patrick Lauer <patr...@gentoo.org
>> <mailto:patr...@gentoo.org>> wrote:
>>
>>     See https://bugs.gentoo.org/show_bug.cgi?id=565566
>>
>>     Since we have ChangeLogs again (November) they've been in backwards
>>     order. Which is not really good - it breaks tools (like emerge
>>     --changelog) and makes it harder to read for humans.
>>
>>     As a bonus it's inconsistent because the old Changelog-2015 files
>>     are in normal order, and the new ones are reversed. Which sense no
>>     makes.
>>
>>     The suggestions in the bug are of great entertainment value, but
>>     they all avoid the simple idea of generating ChangeLogs in
>>     changelog (reverse chronological) order. Which would fix all tools
>>     and make almost every consumer of changelogs happy.
>>
>>     So, can we please, after over 4 months of stalling, just fix this
>>     embarassment?
>>
>>
>> I don't see any attached patches...so it looks like there is room for
>> you to contribute.
>>
>> -A
>>
>>
> from gitweb.gentoo.org -
> infra/mastermirror-scripts.git
> 
> ~line 167:
> 
> |
> 
> case $HOURS in
>       3|9|15|21) EGENCACHE_CHANGELOG="--update-changelogs
>       --changelog-reversed
> --changelog-output ChangeLog" ;;
> esac
> 
> 
> remove "--changelog-reversed"
> 
> Enjoy cookie.
> (Of course this may require removing the existing changelogs first etc.
> ...)

If you read the previous threads on the topic, here and on the portage-
devel list...

That option is there, and indeed, a patch providing it was specifically 
added to portage for infra to use, because appending entries to existing 
files is vastly easier and more performant than trying to prepend entries 
and having to rewrite the entire file as a result.


So chronological order (not traditional changelog reverse chronological 
order) is deliberate, helping to get the changelogs out there in the 
first place, given that they were missing /entirely/ for awhile (as of 
course you well know, given previous threads, one of which did seem to 
help get the ball moving on getting changelogs of /any/ kind available 
again).

And it's unlikely to change, as long as infra is generating the 
changelogs from git logs at least, because prepends aren't ever going to 
be as cheap as appends.

Which means it's the tools that expect reverse-chronological order that 
must change.  Either that, or people /that/ concerned about the 
changelogs can simply switch to the git repos and use the existing git 
tools to read their changelogs, as many (including me, as I regularly 
check changelog entries, and now that I can, sometimes the actual diff, 
on one or more packages at nearly every update) already are.


IMO, what's actually happening here is the slow deprecation of rsync 
mirrors in favor of git.  I doubt they'd be created at all if gentoo were 
being created today -- git would be the only choice and they'd be git 
mirrors.  Just like the switch to git for the main tree itself, it's 
taking time, but /unlike/ the main tree switch, it doesn't have to be as 
formalized and is happening in a much more ad hoc manner.

At some point, gentoo will need to start mirroring its git repo (with 
metadata and etc added), much as it does the rsync repo, and the various 
handbook documentation and etc will need to change.  Right now, it's 
available, but AFAIK, only via the github mirror, at least at any serious 
scaling level, tho admittedly that leaves gentoo in a somewhat precarious 
position with github dependencies for those doing git.  But when the git 
mirror structure is up and people are switching, the rsync mirrors can 
gradually be phased out as people do switch and the rsync demand requires 
fewer servers.  Tho I don't believe there's anything yet replacing the 
signed security of webrsync with the appropriate security features turned 
on, so that will need to stay around for awhile.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to