1 |
Kent Fredric posted on Wed, 24 Feb 2016 18:49:06 +1300 as excerpted: |
2 |
|
3 |
> But I'm sure at least one person out there has probably gone looking for |
4 |
> a changelog to see when something got stabilized/keyworded. |
5 |
|
6 |
<raises hand> |
7 |
|
8 |
In particular, I tend to be looking for this level of "introduced-on ymd |
9 |
to the kde overlay, tho masked as unreleased upstream, unmasked to ~arch |
10 |
in the overlay on ymd after upstream public release, introduced to the |
11 |
main tree on ymd, revision-bumped to get the patch fixing problem to |
12 |
users on ymd, first-arch-stabilized on ymd, x86 stabilized-on ymd, amd64- |
13 |
stabilized on ymd, removed from tree as obsolete on ymd" type detail, |
14 |
when comparing notes with for instance users running LFS and Arch on the |
15 |
fresh end, and users running RHEL/CentOS/Debian-stable on the stale end. |
16 |
|
17 |
Comparing this sort of version and stabilization history across distros, |
18 |
cross-referenced with when particular bugs showed up or disappeared, can |
19 |
be extremely helpful in tracking down whether problematic behavior is |
20 |
version-limited or perhaps doesn't originate with the leaf app in |
21 |
question at all, but instead, with some library that happened to be |
22 |
updated on one distro at the particular time a bug appeared, that either |
23 |
hasn't appeared or has been updated with a fix, on some other distro. |
24 |
|
25 |
And I imagine tracking such ~arch keywording and stable-event dates could |
26 |
be even more critical on less common archs with bugs that don't tend to |
27 |
trigger on the common archs and that thus don't get fixed until someone |
28 |
experiences and reports them on the trigger archs. |
29 |
|
30 |
|
31 |
Tho I understand your point, and have had the same experience when |
32 |
looking at, for instance, upstream kde git-level logs. |
33 |
|
34 |
But to some extent it can be argued that at the distro packaging level as |
35 |
opposed to the upstream code development level, every commit /is/ |
36 |
potentially of interest to users of that package, at least of the arch |
37 |
involved if it's something like keywording/stabilizing, or the commit |
38 |
likely wouldn't be worth making in the first place. |
39 |
|
40 |
Which is one reason it's so frustrating that gentoo's git guidelines |
41 |
recommend /against/ using merges and merge-comments as used with the |
42 |
upstream Linux kernel, for instance. There, if I as an amd64 aka x86_64 |
43 |
user am not interested in say arm commits, they're all sectioned off in |
44 |
big giant merges that I can look for and skip over perhaps hundreds of |
45 |
arm commits once I see that merge is from arm. On gentoo, by contrast, |
46 |
every single arm stabilization commit tends to be its own individual |
47 |
commit to the tree, perhaps pushed as what /would/ be a single merge, but |
48 |
with a recommended rebase, so each one appears individually instead of |
49 |
under a single arm merge with that noted in the merge comment so I can |
50 |
skip them all at once! |
51 |
|
52 |
As a result I have to use a different log tracking strategy on the gentoo |
53 |
git tree compared to to the kernel. Where on the kernel I'll often hit b |
54 |
to go to the bottom and then crawl up the entire update log, checking for |
55 |
merges and drilling down into components I'm interested in, on the kernel |
56 |
I have to do an emerge --update --deep --newuse -ask in one terminal, |
57 |
wait for it to generate its list of updates, then do a git log |
58 |
ORIG_HEAD.. in another terminal, hit b to seek to the bottom and cache it |
59 |
all, hit t to return to the top, and hit / and enter specific package |
60 |
versions I'm interested in to search for. As a result, I don't pick up |
61 |
the general community status information on packages/components I'm not |
62 |
specifically interested in, that I do following the actually far more |
63 |
detailed kernel commit logs, because to keep things manageable I have to |
64 |
search for specific packages of interest instead of being able to exclude |
65 |
entire merge trees with just a high level glance at the main merge |
66 |
comment, where I actually /do/ pick up lots of general status information |
67 |
about kernel subsystems I'm not generally interested in. |
68 |
|
69 |
I guess another way of putting it in the context of changelogs, would be |
70 |
that if gentoo were using git merges correctly, a changelog summary |
71 |
generator could simply take the high-level merge summary comments and |
72 |
turn that into its changelog summary. Instead of ten dozen individual |
73 |
"cat-egory/pkg-x.y.z arm-stable" entries, there'd be one or two "arm- |
74 |
stable various packages in these categories: xxx, yyy, zzz, aaa" entries, |
75 |
and people who don't care about arm could skip the further detail while |
76 |
still getting an overall idea of arm activity, while those who do care |
77 |
about arm and want further information could drill down further as |
78 |
necessary, but would be able to skip the corresponding merge entries for |
79 |
x86 and amd64. |
80 |
|
81 |
With proper git usage, the information would already be there in the git |
82 |
log merge commit comments for people like me who like to read those, but |
83 |
it would also be not only far simpler, but actually /possible/ to |
84 |
automate a summarizer that generates summaries from only those merge |
85 |
entries, that then could be stored in the rsync tree or published to |
86 |
packages.gentoo.org or the gentoo front page, or wherever. |
87 |
|
88 |
-- |
89 |
Duncan - List replies preferred. No HTML msgs. |
90 |
"Every nonfree program has a lord, a master -- |
91 |
and if you use the program, he is your master." Richard Stallman |