public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] stabilization commits and atomicity
@ 2015-10-19 11:21 hasufell
  2015-10-19 11:55 ` Dirkjan Ochtman
  0 siblings, 1 reply; 16+ messages in thread
From: hasufell @ 2015-10-19 11:21 UTC (permalink / raw
  To: gentoo-dev; +Cc: Mikle Kolyada

I'd like to discuss whether we should allow/encourage stabilization
commits to be less atomic. They often bloat the history, make it hard to
skim through the summaries list and people who are looking for
stabilization probably do 'git log -- <ebuild-dir>' anyway, no? In
addition, I'm not sure the bug information where people post "stable"
comments is very useful.

At least, the previous commits on
  app-leechcraft/

could have been category-commits, since they all refer to the same thing
and the same bug.

I'd go so far to say allow people to do commits like:
"""
amd64 stabilizations

<optional list of bugs>
"""
possibly pre-pending the rough domain like "kde", if any. I think kde
herd already does that, no?

Unless someone thinks the mass-100+ commits are really useful in the
visible history.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 11:21 [gentoo-dev] stabilization commits and atomicity hasufell
@ 2015-10-19 11:55 ` Dirkjan Ochtman
  2015-10-19 12:21   ` Rich Freeman
  0 siblings, 1 reply; 16+ messages in thread
From: Dirkjan Ochtman @ 2015-10-19 11:55 UTC (permalink / raw
  To: Gentoo Development; +Cc: Mikle Kolyada

On Mon, Oct 19, 2015 at 1:21 PM, hasufell <hasufell@gentoo.org> wrote:
> I'd go so far to say allow people to do commits like:
> """
> amd64 stabilizations
>
> <optional list of bugs>
> """
> possibly pre-pending the rough domain like "kde", if any. I think kde
> herd already does that, no?

Sounds sane to me.

Cheers,

Dirkjan


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 11:55 ` Dirkjan Ochtman
@ 2015-10-19 12:21   ` Rich Freeman
  2015-10-19 14:37     ` Ian Stakenvicius
  0 siblings, 1 reply; 16+ messages in thread
From: Rich Freeman @ 2015-10-19 12:21 UTC (permalink / raw
  To: gentoo-dev; +Cc: Mikle Kolyada

On Mon, Oct 19, 2015 at 7:55 AM, Dirkjan Ochtman <djc@gentoo.org> wrote:
> On Mon, Oct 19, 2015 at 1:21 PM, hasufell <hasufell@gentoo.org> wrote:
>> I'd go so far to say allow people to do commits like:
>> """
>> amd64 stabilizations
>>
>> <optional list of bugs>
>> """
>> possibly pre-pending the rough domain like "kde", if any. I think kde
>> herd already does that, no?
>
> Sounds sane to me.

I think that standardizing how we comment on bulk-stabilization
commits makes more sense than making them less atomic.  Not getting
half a KDE update is actually one of the nice selling features of git.
Plus, in the event of a disaster it also makes rollback easier.

But, by all means we should update the wiki to recommend the standard
way to document these changes.

-- 
Rich


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 12:21   ` Rich Freeman
@ 2015-10-19 14:37     ` Ian Stakenvicius
  2015-10-19 15:04       ` hasufell
  0 siblings, 1 reply; 16+ messages in thread
From: Ian Stakenvicius @ 2015-10-19 14:37 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 19/10/15 08:21 AM, Rich Freeman wrote:
> On Mon, Oct 19, 2015 at 7:55 AM, Dirkjan Ochtman <djc@gentoo.org>
> wrote:
>> On Mon, Oct 19, 2015 at 1:21 PM, hasufell <hasufell@gentoo.org>
>> wrote:
>>> I'd go so far to say allow people to do commits like: """ 
>>> amd64 stabilizations
>>> 
>>> <optional list of bugs> """ possibly pre-pending the rough
>>> domain like "kde", if any. I think kde herd already does
>>> that, no?
>> 
>> Sounds sane to me.
> 
> I think that standardizing how we comment on bulk-stabilization 
> commits makes more sense than making them less atomic.  Not
> getting half a KDE update is actually one of the nice selling
> features of git. Plus, in the event of a disaster it also makes
> rollback easier.
> 
> But, by all means we should update the wiki to recommend the
> standard way to document these changes.
> 


It may be my lack of coffee this morning, but I think you and
hasufell are saying the same thing but using "making commits less
atomic" conversely.

Just so i make sure i'm understanding this right, hasufell's
suggestion is to, instead of rolling a single "atomic" commit for
every package being stabilized under a tracker bug, that the whole
set of packages gets stabilized via one commit.  Thus ensuring one
doesn't get half a kde update, and rollbacks can be done at a single
commit level, etc.

Do I have this right?

(note, since all of these package changes are for a particular
single purpose imo it would still be an atomic commit)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAlYlACsACgkQAJxUfCtlWe1yuQD+KaeYsBnQdxL/jCA7AywJwRW4
Iv6LSjNSgMAgYJRCtU8BANz5MrAh8uzqdA03oWetvISXz50nSDa0LuS3XebBZCfi
=UBQF
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 14:37     ` Ian Stakenvicius
@ 2015-10-19 15:04       ` hasufell
  2015-10-19 15:10         ` Matthew Thode
  2015-10-19 15:27         ` Ian Stakenvicius
  0 siblings, 2 replies; 16+ messages in thread
From: hasufell @ 2015-10-19 15:04 UTC (permalink / raw
  To: gentoo-dev

On 10/19/2015 04:37 PM, Ian Stakenvicius wrote:
> 
> 
> 
> It may be my lack of coffee this morning, but I think you and
> hasufell are saying the same thing but using "making commits less
> atomic" conversely.
> 
> Just so i make sure i'm understanding this right, hasufell's
> suggestion is to, instead of rolling a single "atomic" commit for
> every package being stabilized under a tracker bug, that the whole
> set of packages gets stabilized via one commit.  Thus ensuring one
> doesn't get half a kde update, and rollbacks can be done at a single
> commit level, etc.
> 
> Do I have this right?
> 
> (note, since all of these package changes are for a particular
> single purpose imo it would still be an atomic commit)
> 
> 

Well yes. But you could go one step further and argue that we can allow
the same thing when ago's scripts make 300 commits for 300 stabilization
bugs at once (same category or not).

The question is if stabilization needs to be atomic history-wise. It is
nothing you revert or cherry-pick anyway and you could consider it a
global commit too with the subsystem "stable arch".


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 15:04       ` hasufell
@ 2015-10-19 15:10         ` Matthew Thode
  2015-10-19 15:27         ` Ian Stakenvicius
  1 sibling, 0 replies; 16+ messages in thread
From: Matthew Thode @ 2015-10-19 15:10 UTC (permalink / raw
  To: gentoo-dev

On 10/19/2015 10:04 AM, hasufell wrote:
> On 10/19/2015 04:37 PM, Ian Stakenvicius wrote:
>>
>>
>>
>> It may be my lack of coffee this morning, but I think you and
>> hasufell are saying the same thing but using "making commits less
>> atomic" conversely.
>>
>> Just so i make sure i'm understanding this right, hasufell's
>> suggestion is to, instead of rolling a single "atomic" commit for
>> every package being stabilized under a tracker bug, that the whole
>> set of packages gets stabilized via one commit.  Thus ensuring one
>> doesn't get half a kde update, and rollbacks can be done at a single
>> commit level, etc.
>>
>> Do I have this right?
>>
>> (note, since all of these package changes are for a particular
>> single purpose imo it would still be an atomic commit)
>>
>>
> 
> Well yes. But you could go one step further and argue that we can allow
> the same thing when ago's scripts make 300 commits for 300 stabilization
> bugs at once (same category or not).
> 
> The question is if stabilization needs to be atomic history-wise. It is
> nothing you revert or cherry-pick anyway and you could consider it a
> global commit too with the subsystem "stable arch".
> 
while I think that one commit per bug is preferred, having multiple bugs
in one commit is ok as well.  Some of us already do this sometimes when
updating packages (multiple birds with one stone and all that).

-- 
-- Matthew Thode (prometheanfire)


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 15:04       ` hasufell
  2015-10-19 15:10         ` Matthew Thode
@ 2015-10-19 15:27         ` Ian Stakenvicius
  2015-10-19 17:08           ` Rich Freeman
  1 sibling, 1 reply; 16+ messages in thread
From: Ian Stakenvicius @ 2015-10-19 15:27 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 19/10/15 11:04 AM, hasufell wrote:
> On 10/19/2015 04:37 PM, Ian Stakenvicius wrote:
>> 
>> 
>> 
>> It may be my lack of coffee this morning, but I think you and 
>> hasufell are saying the same thing but using "making commits 
>> less atomic" conversely.
>> 
>> Just so i make sure i'm understanding this right, hasufell's 
>> suggestion is to, instead of rolling a single "atomic" commit 
>> for every package being stabilized under a tracker bug, that 
>> the whole set of packages gets stabilized via one commit.
>> Thus ensuring one doesn't get half a kde update, and rollbacks
>> can be done at a single commit level, etc.
>> 
>> Do I have this right?
>> 
>> (note, since all of these package changes are for a particular
>>  single purpose imo it would still be an atomic commit)
>> 
>> 
> 
> Well yes. But you could go one step further and argue that we
> can allow the same thing when ago's scripts make 300 commits for
> 300 stabilization bugs at once (same category or not).
> 
> The question is if stabilization needs to be atomic
> history-wise. It is nothing you revert or cherry-pick anyway and
> you could consider it a global commit too with the subsystem
> "stable arch".
> 


Ahh, so what you're referring to here is stabilization of multiple
unrelated packages in a single commit..  ok..  i'm not so
comfortable with that idea.. BUT, nothing stopped us from doing this
with CVS (although the mapping of commit between CVS and GIT aren't
exactly 1:1), so i guess it's fine..?

What about simply keeping things as they are but not strictly
enforcing them when they are used in a manner like this for special
cases, such as ago's stabilizations or other security@ or arch team
keyword-related commits?

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iF4EAREIAAYFAlYlC/wACgkQAJxUfCtlWe1XSgD/fa4M2E7k4asOeUGgLEt2um6m
9NovN22eVUeLbSvtnLoBALT4+vhXqYhi3K3ytFv6dcfcKFpiYMbuWuMNu2YrVRj9
=Ef9v
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 15:27         ` Ian Stakenvicius
@ 2015-10-19 17:08           ` Rich Freeman
  2015-10-19 17:13             ` hasufell
  0 siblings, 1 reply; 16+ messages in thread
From: Rich Freeman @ 2015-10-19 17:08 UTC (permalink / raw
  To: gentoo-dev

On Mon, Oct 19, 2015 at 11:27 AM, Ian Stakenvicius <axs@gentoo.org> wrote:
>
> Ahh, so what you're referring to here is stabilization of multiple
> unrelated packages in a single commit..  ok..  i'm not so
> comfortable with that idea..

Nor am I.  A commit should be a set of related changes.  Stabilizing
all of KDE-n in one commit makes a lot of sense.  Stabilizing 5 random
packages in one commit doesn't make sense.  By all means push them all
at once, but don't commit them all at once.  It isn't like we have to
pay for each commit.

I also don't have a problem with fixing multiple bugs in one commit.
In an ideal world you'd do that on a branch and then do a merge, and I
don't have a problem with that either, but I get that we tend to not
work that way.  If you want every commit to stand on its own and
you're porting to a new EAPI and fixing 3 bugs at the same time, I
don't expect maintainers to rewrite their bugs into the new code to
port it to the new EAPI, then fix each bug in turn.

> BUT, nothing stopped us from doing this
> with CVS (although the mapping of commit between CVS and GIT aren't
> exactly 1:1), so i guess it's fine..?

In cvs all commits were at the file level, even if you happened to
create more than one as a single operation.  If you did one commit
that touched 100 ebuilds, you were actually doing 100 commits, and
there is nothing that really ties those 100 commits together and by
the time it gets to rsync you might only get 50 of them if the timing
is right.

So, this actually is a new problem, or rather benefit.

>
> What about simply keeping things as they are but not strictly
> enforcing them when they are used in a manner like this for special
> cases, such as ago's stabilizations or other security@ or arch team
> keyword-related commits?
>

I don't think we're strictly enforcing anything now but I could be
wrong.  I think we should have guidelines that recommend best
practices and try to stick to them.  If there is a really good reason
to do things differently, that is why we call them "guidelines."

-- 
Rich


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 17:08           ` Rich Freeman
@ 2015-10-19 17:13             ` hasufell
  2015-10-19 17:37               ` Rich Freeman
  2015-10-20 23:16               ` Duncan
  0 siblings, 2 replies; 16+ messages in thread
From: hasufell @ 2015-10-19 17:13 UTC (permalink / raw
  To: gentoo-dev

On 10/19/2015 07:08 PM, Rich Freeman wrote:
> On Mon, Oct 19, 2015 at 11:27 AM, Ian Stakenvicius <axs@gentoo.org> wrote:
>>
>> Ahh, so what you're referring to here is stabilization of multiple
>> unrelated packages in a single commit..  ok..  i'm not so
>> comfortable with that idea..
> 
> Nor am I.  A commit should be a set of related changes.  Stabilizing
> all of KDE-n in one commit makes a lot of sense.  Stabilizing 5 random
> packages in one commit doesn't make sense.  By all means push them all
> at once, but don't commit them all at once.  It isn't like we have to
> pay for each commit.
> 

We already know that. But if e.g. ago runs his scripts at 00:00 with
~300 packages stabilized, the history (without git command line) on
github/gitweb will be fun to read (and people DO that).

The argument is that those are related changes to the subsystem "stable
arch" (and affect not random ebuild details, but stable arch only, as in
KEYWORDS). Ofc, people can still create atomic commits if the
stabilization is security related.




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 17:13             ` hasufell
@ 2015-10-19 17:37               ` Rich Freeman
  2015-10-19 17:40                 ` hasufell
  2015-10-20 23:16               ` Duncan
  1 sibling, 1 reply; 16+ messages in thread
From: Rich Freeman @ 2015-10-19 17:37 UTC (permalink / raw
  To: gentoo-dev

On Mon, Oct 19, 2015 at 1:13 PM, hasufell <hasufell@gentoo.org> wrote:
>
> We already know that. But if e.g. ago runs his scripts at 00:00 with
> ~300 packages stabilized, the history (without git command line) on
> github/gitweb will be fun to read (and people DO that).
>

It doesn't seem like it would have been any better in the cvs days,
but I guess that isn't a reason to reject this on its own.

If this was about changing the copyright headers in all the ebuilds in
the tree I'd say that this is a million related trivial changes that
can be merged.  Nobody needs to see that in the history broken out.

However, stabilizing a single package really is an impactful change.
The fact that you're doing 100 of them at one time doesn't really
diminish the impact of each one.  Any of them could break a system or
need to be reverted.

If they're being done at once because they're all part of some library
stabilization then I'd combine them into a commit, because they are
actually related.

Maybe what is needed is better tools for tagging/filtering history?

-- 
Rich


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 17:37               ` Rich Freeman
@ 2015-10-19 17:40                 ` hasufell
  2015-10-19 17:52                   ` Rich Freeman
  0 siblings, 1 reply; 16+ messages in thread
From: hasufell @ 2015-10-19 17:40 UTC (permalink / raw
  To: gentoo-dev

On 10/19/2015 07:37 PM, Rich Freeman wrote:
> 
> However, stabilizing a single package really is an impactful change.
> The fact that you're doing 100 of them at one time doesn't really
> diminish the impact of each one.  Any of them could break a system or
> need to be reverted.
> 

Since when do we allow reverting stabilization? The package needs to be
fixed and possibly revbumped instead.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 17:40                 ` hasufell
@ 2015-10-19 17:52                   ` Rich Freeman
  2015-10-19 17:55                     ` hasufell
  2015-10-20 22:25                     ` [gentoo-dev] " Duncan
  0 siblings, 2 replies; 16+ messages in thread
From: Rich Freeman @ 2015-10-19 17:52 UTC (permalink / raw
  To: gentoo-dev

On Mon, Oct 19, 2015 at 1:40 PM, hasufell <hasufell@gentoo.org> wrote:
> On 10/19/2015 07:37 PM, Rich Freeman wrote:
>>
>> However, stabilizing a single package really is an impactful change.
>> The fact that you're doing 100 of them at one time doesn't really
>> diminish the impact of each one.  Any of them could break a system or
>> need to be reverted.
>>
>
> Since when do we allow reverting stabilization? The package needs to be
> fixed and possibly revbumped instead.
>

It would really depend on the nature of the break.  If it is a serious
upstream problem and no fix is available, then reverting might be the
only practical solution.  It is of course not a preferred solution.

-- 
Rich


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 17:52                   ` Rich Freeman
@ 2015-10-19 17:55                     ` hasufell
  2015-10-19 19:52                       ` Rich Freeman
  2015-10-20 22:25                     ` [gentoo-dev] " Duncan
  1 sibling, 1 reply; 16+ messages in thread
From: hasufell @ 2015-10-19 17:55 UTC (permalink / raw
  To: gentoo-dev

On 10/19/2015 07:52 PM, Rich Freeman wrote:
> On Mon, Oct 19, 2015 at 1:40 PM, hasufell <hasufell@gentoo.org> wrote:
>> On 10/19/2015 07:37 PM, Rich Freeman wrote:
>>>
>>> However, stabilizing a single package really is an impactful change.
>>> The fact that you're doing 100 of them at one time doesn't really
>>> diminish the impact of each one.  Any of them could break a system or
>>> need to be reverted.
>>>
>>
>> Since when do we allow reverting stabilization? The package needs to be
>> fixed and possibly revbumped instead.
>>
> 
> It would really depend on the nature of the break.  If it is a serious
> upstream problem and no fix is available, then reverting might be the
> only practical solution.  It is of course not a preferred solution.
> 

I don't think we depend on 'git revert' in that case. KEYWORDS are
trivial changes (in terms of file diffs).


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [gentoo-dev] stabilization commits and atomicity
  2015-10-19 17:55                     ` hasufell
@ 2015-10-19 19:52                       ` Rich Freeman
  0 siblings, 0 replies; 16+ messages in thread
From: Rich Freeman @ 2015-10-19 19:52 UTC (permalink / raw
  To: gentoo-dev

On Mon, Oct 19, 2015 at 1:55 PM, hasufell <hasufell@gentoo.org> wrote:
> On 10/19/2015 07:52 PM, Rich Freeman wrote:
>> On Mon, Oct 19, 2015 at 1:40 PM, hasufell <hasufell@gentoo.org> wrote:
>>> On 10/19/2015 07:37 PM, Rich Freeman wrote:
>>>>
>>>> However, stabilizing a single package really is an impactful change.
>>>> The fact that you're doing 100 of them at one time doesn't really
>>>> diminish the impact of each one.  Any of them could break a system or
>>>> need to be reverted.
>>>>
>>>
>>> Since when do we allow reverting stabilization? The package needs to be
>>> fixed and possibly revbumped instead.
>>>
>>
>> It would really depend on the nature of the break.  If it is a serious
>> upstream problem and no fix is available, then reverting might be the
>> only practical solution.  It is of course not a preferred solution.
>>
>
> I don't think we depend on 'git revert' in that case. KEYWORDS are
> trivial changes (in terms of file diffs).
>

True, as long as they're truly standalone.

Maybe the compromise is:
1.  Groups of related stabilizations should be grouped.
2.  Groups of only unrelated stabilizations can also be grouped.
3.  You must not try to mix #1 and #2 in the same commit.

As you say individual packages are easy to revert anyway.  However, we
wouldn't want 100 of those to be mixed in with 50 packages that all
needed to be coordinated, because those 50 aren't easy to revert.

-- 
Rich


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [gentoo-dev] Re: stabilization commits and atomicity
  2015-10-19 17:52                   ` Rich Freeman
  2015-10-19 17:55                     ` hasufell
@ 2015-10-20 22:25                     ` Duncan
  1 sibling, 0 replies; 16+ messages in thread
From: Duncan @ 2015-10-20 22:25 UTC (permalink / raw
  To: gentoo-dev

Rich Freeman posted on Mon, 19 Oct 2015 13:52:58 -0400 as excerpted:

> On Mon, Oct 19, 2015 at 1:40 PM, hasufell <hasufell@gentoo.org> wrote:
>> On 10/19/2015 07:37 PM, Rich Freeman wrote:
>>>
>>> However, stabilizing a single package really is an impactful change.
>>> The fact that you're doing 100 of them at one time doesn't really
>>> diminish the impact of each one.  Any of them could break a system or
>>> need to be reverted.
>>>
>>>
>> Since when do we allow reverting stabilization? The package needs to be
>> fixed and possibly revbumped instead.
>>
>>
> It would really depend on the nature of the break.  If it is a serious
> upstream problem and no fix is available, then reverting might be the
> only practical solution.  It is of course not a preferred solution.

Didn't a semi-minor arch (arm, AFAIK) recently revert a major lib 
stabilizing, as it was clearly broken on at least some arm variants, the 
maintainer that did it either didn't consult with the arm-arch folks or 
signals got crossed and he stabilized without approval, and it was caught 
within an hour or less, such that the quickest and most effective way to 
fix the breakage was to do an immediate revert, before even figuring out 
a more long term fix?

The commit log said something like, "Not trying to be rude, but this is 
the quickest way to limit the damage", and within just a few days (two?), 
the package and several deps were stabilized by the arch team in 
question, properly this time, with fixes as appropriate to keep whole sub-
archs from breaking as they were doing with the previous stabilization 
attempt.

[So yes, this demonstrates the point someone made above about people 
actually reading these things, too. =:^)  And I too have been frustrated 
trying to do so, but IMO this is fixing the bit that's /not/ broken, not 
what is.  More about that in a response I'll be posting elsewhere on-
thread.]

-- 
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



^ permalink raw reply	[flat|nested] 16+ messages in thread

* [gentoo-dev] Re: stabilization commits and atomicity
  2015-10-19 17:13             ` hasufell
  2015-10-19 17:37               ` Rich Freeman
@ 2015-10-20 23:16               ` Duncan
  1 sibling, 0 replies; 16+ messages in thread
From: Duncan @ 2015-10-20 23:16 UTC (permalink / raw
  To: gentoo-dev

hasufell posted on Mon, 19 Oct 2015 19:13:50 +0200 as excerpted:

> On 10/19/2015 07:08 PM, Rich Freeman wrote:
>> On Mon, Oct 19, 2015 at 11:27 AM, Ian Stakenvicius <axs@gentoo.org>
>> wrote:
>>>
>>> Ahh, so what you're referring to here is stabilization of multiple
>>> unrelated packages in a single commit..  ok..  i'm not so comfortable
>>> with that idea..
>> 
>> Nor am I.  A commit should be a set of related changes.  Stabilizing
>> all of KDE-n in one commit makes a lot of sense.  Stabilizing 5 random
>> packages in one commit doesn't make sense.  By all means push them all
>> at once, but don't commit them all at once.  It isn't like we have to
>> pay for each commit.
>> 
> We already know that. But if e.g. ago runs his scripts at 00:00 with
> ~300 packages stabilized, the history (without git command line) on
> github/gitweb will be fun to read (and people DO that).

I'm one of those people (see my reply a few posts down-thread], tho I 
don't read /everything/, but would definitely read rather more if this 
were handled correctly.

But IMO, the proposal here is trying to fix the bit that's /not/ broken, 
not what is.

On the kernel, I can very easily do a ...

git log --color --stat --graph ORIG_HEAD..

... get the nice color graphical listing piped to most, hit end to read 
the whole range of commit logs into buffer, and then starting from the 
end, pageup one page at a time to get the merge chronology correct, and 
read all of Linus's very nicely summarized merge commits, telling me what 
trees were merged and listing the one-line title/summary for each one.

If I want to drill down, as I generally do for specific subsystems
(fs/btrfs, drm/radeon, various subsystems like power I've had bugs with 
in the past), it's a multi-level hierarchy and thus easy enough to go 
from say the drm merge to the radeon sub-merge and check individual 
commits at the comment and affected file levels (--stat).

If I want to drill down further, the commit ID is right there and I can 
git show <ID> to read the specific code.

Meanwhile, if the top-level merge commit says it's for example arm, I'll 
immediately move on to the next top-level merge commit, effectively 
skipping all those possibly hundreds of "boring and not interesting to 
me" individual arm commits, by very simply skipping to the next very 
nicely commented merge commit, with its one-liner list of individual 
commits.

The merge hierarchy, informative merge commit comments, and color-coded
--graph makes finding the merges so easy! That's the way git was 
/designed/ to work. =:^)


Unfortunately, gentoo is by policy trying to flatten all that multi-level-
hierarchy-for-a-reason into a single flat list of CVS/SVN-like strictly 
ordered parent-child relationship commits, destroying the whole rich 
hierarchy and all the information that git includes with it, using 
horrible rebase-pushes as an incredibly poor substitute for the very 
natural git-native merge hierarchy along with all its richness.


Now we're complaining about how flat/boring/uninformative all those 
atomic commits are, but it's not the atomic commits that are the problem, 
it's the fact that we're deliberately stripping out the merge commits and 
all the richness that comes with them, including the natural hierarchy 
and the ability to make those merge-commits as informative as they 
normally are in the kernel, with a short mention of the highlights and a 
quick list of the included one-liners.


If gentoo were doing git the way it was designed to work instead of 
trying to force it into the one-dimensional CVS mold, ago's 300-commit 
bore for anyone not interested in that subsystem, on gentoo commit after 
boring one-dimensional commit that's of less interest to me than the 
price of tea in China, would be in a single merge tree with the arch team 
in the one-liner, so I could immediately skip on to the next top-level 
merge.  Pageup to that merge, spotted quickly by the asterisk in the left 
column, the two lines merging to it, and the change in color in the left-
hand-line, see it's of no interested, and on to the next one, instead of 
having to go thru 300 boring one dimensional commits in case something 
I'm interested in squeezed in there somewhere.

So as I said, the problem isn't the atomic commits, it's gentoo's 
strongly recommended lack of merge hierarchy.  Now we're complaining 
about that and trying to kill the atomic commits, but they're not the 
problem, trying to use that new git nailgun as if it's the manual 
screwdriver of yesteryear is the problem.  If we don't fix that, we'll 
simply be trying to replace one small bit of the information we so 
mercilessly stripped out with those forced-to-one-dimension rebases, 
instead of deciding that stripping all that information out in the first 
place wasn't such a good idea after all and that the real solution is to 
simply stop trying to use that power nailgun as a manual screwdriver!

-- 
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



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-10-20 23:17 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-19 11:21 [gentoo-dev] stabilization commits and atomicity hasufell
2015-10-19 11:55 ` Dirkjan Ochtman
2015-10-19 12:21   ` Rich Freeman
2015-10-19 14:37     ` Ian Stakenvicius
2015-10-19 15:04       ` hasufell
2015-10-19 15:10         ` Matthew Thode
2015-10-19 15:27         ` Ian Stakenvicius
2015-10-19 17:08           ` Rich Freeman
2015-10-19 17:13             ` hasufell
2015-10-19 17:37               ` Rich Freeman
2015-10-19 17:40                 ` hasufell
2015-10-19 17:52                   ` Rich Freeman
2015-10-19 17:55                     ` hasufell
2015-10-19 19:52                       ` Rich Freeman
2015-10-20 22:25                     ` [gentoo-dev] " Duncan
2015-10-20 23:16               ` Duncan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox