* ChangeLogs? @ 2004-10-12 14:10 Hollis Blanchard 2004-10-12 17:37 ` ChangeLogs? Johan Rydberg 0 siblings, 1 reply; 7+ messages in thread From: Hollis Blanchard @ 2004-10-12 14:10 UTC (permalink / raw) To: The development of GRUB 2 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? 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. There are also many ChangeLog features (such as say "macro" instead of "#define", and "variable" instead of "global") which are not described in the GCS, so I assume these are either project/maintainer-specific, or unwritten rules that all GNU members "just know". That makes it very difficult to follow them. -Hollis ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: ChangeLogs? 2004-10-12 14:10 ChangeLogs? Hollis Blanchard @ 2004-10-12 17:37 ` Johan Rydberg 2004-10-12 19:07 ` ChangeLogs? Hollis Blanchard 2004-10-13 9:22 ` Gnu Arch (was: Re: ChangeLogs?) Tomas Ebenlendr 0 siblings, 2 replies; 7+ messages in thread From: Johan Rydberg @ 2004-10-12 17:37 UTC (permalink / raw) To: The development of GRUB 2 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: ChangeLogs? 2004-10-12 17:37 ` ChangeLogs? Johan Rydberg @ 2004-10-12 19:07 ` Hollis Blanchard 2004-10-12 19:49 ` ChangeLogs? Johan Rydberg 2004-10-13 9:22 ` Gnu Arch (was: Re: ChangeLogs?) Tomas Ebenlendr 1 sibling, 1 reply; 7+ messages in thread From: Hollis Blanchard @ 2004-10-12 19:07 UTC (permalink / raw) To: The development of GRUB 2 On Oct 12, 2004, at 12:37 PM, Johan Rydberg wrote: > > 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. A worthy goal... though you don't need a ChangeLog file for that when you have version control logs. Your "changeset comment" just goes in the commit message. Also, you can see that changeset comments on a project like the Linux kernel are not nearly as verbose as the ChangeLog standards here. So I guess I have two issues: 1) the file itself has been long obsolete, and 2) the contents of the file aren't as easy to read as truly high-level comments, and aren't as explicit as the patch they describe. > 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. Even CVS, which is not exactly a shining star of version control, can accomplish this task very easily through either "cvs log <file>" or "cvs annotate <file>". > A third reason is that it at times can be hard to interpret patches, > even if they are in unidiff format. The description "New function" may be easy to read when a diff is messy, but it won't help you discover the source of regressions. > 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 eagerly await that day... >> 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. But "new variable" and "new function" isn't even close to telling you _what_ . -Hollis ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: ChangeLogs? 2004-10-12 19:07 ` ChangeLogs? Hollis Blanchard @ 2004-10-12 19:49 ` Johan Rydberg 2004-10-14 11:20 ` ChangeLogs? Yoshinori K. Okuji 0 siblings, 1 reply; 7+ messages in thread From: Johan Rydberg @ 2004-10-12 19:49 UTC (permalink / raw) To: The development of GRUB 2 Hollis Blanchard <hollis@penguinppc.org> writes: > A worthy goal... though you don't need a ChangeLog file for that when > you have version control logs. Your "changeset comment" just goes in > the commit message. Commit messages are per-file, not per changeset. > Also, you can see that changeset comments on a project like the Linux > kernel are not nearly as verbose as the ChangeLog standards here. Linux uses BitKeeper, a commerical changeset based VC system. > Even CVS, which is not exactly a shining star of version control, can > accomplish this task very easily through either "cvs log <file>" or > "cvs annotate <file>". The thing is that you want a greater context than just a single file. >> Remember that you should only describe _what_ you have changed. If >> you want to clearify something, put it in a comment in the source. > > But "new variable" and "new function" isn't even close to telling you > _what_ . I think it is. That is exactly what you have changed: you have added a new variable or function. If you want to describe the variable or function in greater detail, do so in the altered file (the source.) ~j ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: ChangeLogs? 2004-10-12 19:49 ` ChangeLogs? Johan Rydberg @ 2004-10-14 11:20 ` Yoshinori K. Okuji 0 siblings, 0 replies; 7+ messages in thread From: Yoshinori K. Okuji @ 2004-10-14 11:20 UTC (permalink / raw) To: The development of GRUB 2 I'd like to describe additional information on this topic. The ChangeLog has two different purposes: information for tracking bugs and information on copyright. For the latter, it is very important to record who did what at when. "Why" does not matter here. Suppose that you are a contributor to GNU Project and you are hired by a company (or maybe under the control of an university). If you forget to get a disclaimer from your company or the disclaimer is not signed by a proper person, your company might claim that GNU Project is not allowed to use your code. Then, we must detect which part of the code is owned by your company. If you provide only patches, it is too difficult to track all changes made by you. For example, when we have a good ChangeLog, if you made a new function and another person rewrote the function from scratch afterwards, we can just grep the function name and get a conclusion that we don't have to drop the function in one minute. If we don't have any good ChangeLog... you should be able to imagine terrible work. So, we must have a good ChangeLog always. It does not matter whether you use comments with a version control system or a plain-text file. Personally I believe that a plain-text file has more advatanges, but if you need to write logs anyway, is there any reason that you don't want to use the file ChangeLog? I myself do this: 1. Write a change log. 2. Copy the log. 3. Commit my changes to the CVS with a comment pasted. Okuji ^ permalink raw reply [flat|nested] 7+ messages in thread
* Gnu Arch (was: Re: ChangeLogs?) 2004-10-12 17:37 ` ChangeLogs? Johan Rydberg 2004-10-12 19:07 ` ChangeLogs? Hollis Blanchard @ 2004-10-13 9:22 ` Tomas Ebenlendr 2004-10-13 9:24 ` M. Gerards 1 sibling, 1 reply; 7+ messages in thread From: Tomas Ebenlendr @ 2004-10-13 9:22 UTC (permalink / raw) To: The development of GRUB 2 > > 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. > Hmm, and what about converting with Grub to GNU Arch? For me, it's main advantage is branching. I will be able to hack for grub at any place, because I'll comit my changes in my private archive. I'll merge into mainstream only features, that will be accepted here. -- Tomas 'ebi' Ebenlendr http://get.to/ebik PF 2004.78270687867 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Gnu Arch (was: Re: ChangeLogs?) 2004-10-13 9:22 ` Gnu Arch (was: Re: ChangeLogs?) Tomas Ebenlendr @ 2004-10-13 9:24 ` M. Gerards 0 siblings, 0 replies; 7+ messages in thread From: M. Gerards @ 2004-10-13 9:24 UTC (permalink / raw) To: The development of GRUB 2, Tomas Ebenlendr Quoting Tomas Ebenlendr <ebik@artax.karlin.mff.cuni.cz>: > > > > 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. > > > > Hmm, and what about converting with Grub to GNU Arch? For me, it's main > advantage is branching. I will be able to hack for grub at any place, > because I'll comit my changes in my private archive. I'll merge into > mainstream only features, that will be accepted here. Savannah only supports CVS for now. AFAIK that will be changed. -- Marco ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-10-14 11:27 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-10-12 14:10 ChangeLogs? Hollis Blanchard 2004-10-12 17:37 ` ChangeLogs? Johan Rydberg 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
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.