Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2015 16:03:44 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        "Justin T. Gibbs" <gibbs@scsiguy.com>
Cc:        svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org, Garrett Cooper <ngie@freebsd.org>
Subject:   Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options
Message-ID:  <2219035.9lOfKPczSU@ralph.baldwin.cx>
In-Reply-To: <ED07D209-17A2-4321-8A05-474190E403F0@scsiguy.com>
References:  <201502132136.t1DLaHLi008470@svn.freebsd.org> <2645058.QN6AG2EogR@ralph.baldwin.cx> <ED07D209-17A2-4321-8A05-474190E403F0@scsiguy.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, February 23, 2015 01:41:16 PM Justin T. Gibbs wrote:
> > On Feb 23, 2015, at 12:07 PM, John Baldwin <jhb@freebsd.org> wrote:=

> > I'm coming at this from a different angle I guess.  When I was firs=
t using
> > FreeBSD, I didn't read HEAD commits, but I did follow commits for
> > 2.2-stable. What I cared about as a user of stable was what new fea=
tures
> > were coming into 2.2.  I didn't really care about the details of th=
e
> > various bugfixes to get said feature into mature shape in HEAD that=
 were
> > bundled into a merge, I just cared about the new feature itself.  T=
hat
> > is, I'm assuming the reader _hasn't_ already read this commit befor=
e, but
> > that the extra noise makes it overly verbose.  I think these are on=
ly
> > readable _if_ you've already read the stream of commits to HEAD pri=
or so
> > it is just a refresh of what's in your memory vs something new.
>=20
> That argues for a better executive summary at the top that allows a r=
eader
> to quickly determine if the content below is interesting in the curre=
nt
> context.  I have no issue with adding content, just with its removal.=


That's probably fair, but I think there are often short messages for co=
mpile
breakages are followups to bugs that don't really add value by being th=
ere,
and they aren't touching different code, they are a followup to the ori=
ginal
change.

> > Let's take a different example (and this is on HEAD, not even stabl=
e).
> >=20
> > https://svnweb.freebsd.org/changeset/base/277458
> > <https://svnweb.freebsd.org/changeset/base/277458>;
> >=20
> > Can you figure out what that change does in a 2 or 3 sentence summa=
ry?
> >=20
> > I think it has something to do with building could images, but I ha=
ve no
> > idea
> I at least got that it was about =E2=80=9Ccloud", not =E2=80=9Ccould=E2=
=80=9D. :-)
>=20
> > really.  Which could images does it support?  How is it different f=
rom what
> > was there before (was this the initial cloud image stuff, or did th=
is just
> > add more, because I thought we shipped cloud images for 10.1 which
> > predates
> > this)?

Aside from the typo, it seems you don't have an answer to these questio=
ns
either? :)

> > I'm not trying to pick on Glen, but that log is basically a stream =
of
> > conciousness piece which might be great for psychoanalaysis, but it=
's not
> > very accessible to someone wanting to know what changed.
>=20
> Apart from the need for a top-level summary, aren=E2=80=99t you reall=
y complaining
> here about the content of the original commit messages?  That=E2=80=99=
s a different
> problem, which I agree we have at times.

No, I've seen merges to stable that follow the same pattern.  This just=

happened to be a merge from a projects branch (instead of from HEAD to =
stable)
that I remembered well enough to look for.  It's a general question of =
how
merge commits are logged though, whether from projects -> head or from
head -> stable.

Surely when I merge some feature from a p4 or git branch you don't want=
 me to
dump the individual log messages (about 1/3 of which would be "Compile"=
 since
I often run my editor on a separate machine from where I build/test the=

changes) into the commit to head?

> > Here's another example:
> >=20
> > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D189075
> > <https://svnweb.freebsd.org/base?view=3Drevision&revision=3D189075>=

> >=20
> > Sadly, this was my first "big" merge with SVN (was not at all feasi=
ble
> > with
> > CVS) and I did not list all the revisions.  Suffice it to say there=
 were
> > something like 50+, many of which were one-liner bug fix commit log=
s.  Had
> > I duplicated all the logs that commit message might have been hundr=
eds of
> > lines long, and very hard for a user to figure out what had actuall=
y
> > changed and why it mattered.
>=20
> A user who doesn=E2=80=99t know enough to understand the individual c=
hanges today,
> may need that information in the future.  For today, they just need e=
nough
> information to quickly determine if, for their current purposes, the =
rest
> of the commit message can be ignored.

So I do think that is an argument for having a summary unless you mean =
that
the way to quickly determine if a commit can be ignored is to just igno=
re all
merges. :)

> > Here's a (shorter) and more recent example:
> >=20
> > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D266339
> > <https://svnweb.freebsd.org/base?view=3Drevision&revision=3D266339>=

> >=20
> > This merges 20 commits that all contribute to implementing a single=

> > feature, and yet for someone reading stable/10 commits I believe it=
 is
> > clear what this one feature is.
>=20
> That=E2=80=99s great if the goal of reading the commit message is to =
find out if the
> feature was merged.  What if, as a side effect, the commit also touch=
ed
> another area - an area you are trying to debug?  It may be possible t=
o
> determine that a related file was modified, but the rational for why =
it was
> modified is now gone.  That=E2=80=99s a shame.

I think if you are trimming the message, you don't trim notice of side
effects.  I do think you should still read the commit logs of all the c=
hanges
you are merging while composing the message.  In the last commit above,=
 that
log message actually highlights some of the larger changes by pulling l=
ines
from multiple of the listed commits into the summary.

It is true that this requires time, and if folks feel that is a waste o=
f
time, so be it.  OTOH, if the issue is that you don't trust folks to ed=
it
commit logs during a MFC, why do you trust them to write a commit log f=
or a
commit to HEAD?

--=20
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2219035.9lOfKPczSU>