All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Rydberg <jrydberg@night.trouble.net>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: ChangeLogs?
Date: Tue, 12 Oct 2004 19:37:46 +0200	[thread overview]
Message-ID: <877jpvj0r9.fsf@night.trouble.net> (raw)
In-Reply-To: <6C8637B2-1C58-11D9-AD2F-000A95A0560C@penguinppc.org> (Hollis Blanchard's message of "Tue, 12 Oct 2004 09:10:08 -0500")


Hollis Blanchard <hollis@penguinppc.org> writes:

> ChangeLog files are new to me, so could somebody help explain them?
> (Yes I've read the GNU Coding Standards.)
>
> It seems to me that the ChangeLog is an anachronism born in a time
> before source control systems, and a poor substitute for the actual
> patch. The GCS does not explain the role of the ChangeLog file in the
> context of a system like CVS, and I find that to be a glaring
> omission. Why would you want a ChangeLog when CVS can tell you what
> *really* happened?

ChangeLogs is must like you said, an inheritance from the time when VC
systems wasn't wide spread.  But it still fills an function.  CVS, and
before that, RCS, are both file-based VC systems.  By adding an
ChangeLog entry describing all changes you get the _feeling_ of a
changeset / patchset based VC system.  This is also the reason why you
describe _what_ changed, and not _why_ it changed.

Another reason for having ChangeLogs is that it is easier to read an
ChangeLog than browsing through large amounts of patches.  Say that
person A commits a patch, or patchset.  Then persons B, C and D
commits other changes.  And then it's time for you to commit your
patch, but suddenly nothing works.  You get a segmentation error in
the function "foobar".  What to do?  Well, the simplest thing is to
bring up the ChangeLog, search for "foobar", and see if any of these
changes could possibly be the reason for your troubles.

A third reason is that it at times can be hard to interpret patches,
even if they are in unidiff format.

Summary: It is easy to read ChangeLogs.

But ChangeLogs will most likely go away, or at least change, when
changeset based VC system (GNU Arch, for example) gets more wide
spread usage.

> I guess my real problem is the level of detail in the ChangeLog: way
> too much, or way too little. If you want that much detail, read the
> patch. "New variable" doesn't give you enough detail anyways: What
> type is it? Where is it initialized? Where is it used? Or it gives you
> too much detail: maybe you just want to know that there's a firmware
> bug in certain systems that we work around by setting a flag so later
> code knows to avoid it.

Remember that you should only describe _what_ you have changed.  If
you want to clearify something, put it in a comment in the source.

Just my thoughts.

~j




  reply	other threads:[~2004-10-12 17:43 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-12 14:10 ChangeLogs? Hollis Blanchard
2004-10-12 17:37 ` Johan Rydberg [this message]
2004-10-12 19:07   ` ChangeLogs? Hollis Blanchard
2004-10-12 19:49     ` ChangeLogs? Johan Rydberg
2004-10-14 11:20       ` ChangeLogs? Yoshinori K. Okuji
2004-10-13  9:22   ` Gnu Arch (was: Re: ChangeLogs?) Tomas Ebenlendr
2004-10-13  9:24     ` M. Gerards

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877jpvj0r9.fsf@night.trouble.net \
    --to=jrydberg@night.trouble.net \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.