* [U-Boot] [PATCH 2/2] remove main CHANGELOG file @ 2010-04-14 2:16 Kim Phillips 2010-05-04 21:41 ` Wolfgang Denk 0 siblings, 1 reply; 20+ messages in thread From: Kim Phillips @ 2010-04-14 2:16 UTC (permalink / raw) To: u-boot CHANGELOG is a duplicate of the u-boot project's git log: remove it. It is assumed that this file's only purpose is to serve non-git users downloading u-boot project source in the form of a tarball release. If that is the case, then the generation of the CHANGELOG file should occur at tarball release generation time, and not consume duplicate history, slowing things down and polluting grep match results for u-boot developers using git. u-boot project git history goes back to before u-boot 0.1.0, so remove CHANGELOG-before-U-Boot-1.1.5 file too. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> --- CHANGELOG |83736 ----------------------------------------- CHANGELOG-before-U-Boot-1.1.5 | 5607 --- 2 files changed, 0 insertions(+), 89343 deletions(-) delete mode 100644 CHANGELOG delete mode 100644 CHANGELOG-before-U-Boot-1.1.5 diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index d4cd8f1..0000000 --- a/CHANGELOG +++ /dev/null @@ -1,83736 +0,0 @@ -commit 8e64d6efd8d778a5f83d8bff9cd273a86dcc182f -Author: Heiko Schocher <hs@denx.de> -Date: Wed Mar 31 08:34:51 2010 +0200 - - net, doc: How to setup MAC address correctly - <deleted rest of patch due to excessive size, but something like this should do it: git am <this-message>; git rm CHANGELOG*; git add -u; git commit > ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-04-14 2:16 [U-Boot] [PATCH 2/2] remove main CHANGELOG file Kim Phillips @ 2010-05-04 21:41 ` Wolfgang Denk 2010-05-05 0:25 ` Kim Phillips 0 siblings, 1 reply; 20+ messages in thread From: Wolfgang Denk @ 2010-05-04 21:41 UTC (permalink / raw) To: u-boot Dear Kim Phillips, In message <20100413211604.66841557.kim.phillips@freescale.com> you wrote: > CHANGELOG is a duplicate of the u-boot project's git log: remove it. No. Please re-read the archive why this file is kept. > It is assumed that this file's only purpose is to serve non-git users > downloading u-boot project source in the form of a tarball release. If > that is the case, then the generation of the CHANGELOG file should occur > at tarball release generation time, and not consume duplicate history, > slowing things down and polluting grep match results for u-boot > developers using git. Slowing things down? C'me on. Polluting grep results? Then exclude this file from grepping... > u-boot project git history goes back to before u-boot 0.1.0, so remove > CHANGELOG-before-U-Boot-1.1.5 file too. NAK. My position about these files has not changed. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de The only thing necessary for the triumph of evil is for good men to do nothing. - Edmund Burke ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-04 21:41 ` Wolfgang Denk @ 2010-05-05 0:25 ` Kim Phillips 2010-05-05 6:54 ` Wolfgang Denk 0 siblings, 1 reply; 20+ messages in thread From: Kim Phillips @ 2010-05-05 0:25 UTC (permalink / raw) To: u-boot On Tue, 4 May 2010 23:41:40 +0200 Wolfgang Denk <wd@denx.de> wrote: > Dear Kim Phillips, > > In message <20100413211604.66841557.kim.phillips@freescale.com> you wrote: > > CHANGELOG is a duplicate of the u-boot project's git log: remove it. > > No. Please re-read the archive why this file is kept. looking in the u-boot archives, found this very old thread (which I assume is the result of CHANGELOG causing a merge conflict way back when): Subject: [U-Boot-Users] Proposed CHANGELOG Generation Helpers Date: Thu, 12 Oct 2006 20:14:30 -0500 and in Message-Id: <20061013095221.AC2B1353C95@atlas.denx.de>, you write: > So since I seem to be the only person on this planet who likes to > have this CHANGELOG file, and it has caused so much trouble already I > suggest the following procedure: ... > (2) rename CHANGELOG into CHANGELOG.OLD, and start a new CHANGELOG > which gets automatically generated using the command above or a > variation thereof. > > Note: nobody needs to take care of this file. It is purely for my > own private needs, and I will manage it on my own. Everybody else > can just ignore the existence of this file. which doesn't do a good job of explaining why you keep this file. More interestingly, in this message: http://article.gmane.org/gmane.comp.version-control.git/28785 you write: > True, as long as you can work within the SCM. The changelog file I'm > talking about is mostly for people who just work with exported trees > (for example, when they download a tarball). which almost supports what I write in the commit message: > > It is assumed that this file's only purpose is to serve non-git users > > downloading u-boot project source in the form of a tarball release. If > > that is the case, then the generation of the CHANGELOG file should occur > > at tarball release generation time, and not consume duplicate history, ..which was already suggested to you by Josef Weidendorfer: http://article.gmane.org/gmane.comp.version-control.git/28790 and further reinforced by Linus Torvalds, here: http://article.gmane.org/gmane.comp.version-control.git/28789 > > slowing things down and polluting grep match results for u-boot > > developers using git. > > Slowing things down? C'me on. maybe not git grep performance-wise (yet), but on a frequently-occurring search term, when we have to visually sift through and page down through a large number of CHANGELOG hits (that invariably show up first), then yes, I consider that a development-time barrier. > Polluting grep results? Then exclude this file from grepping... that's a PITA, and besides, that's what this patch does, and, afaict, at no loss on your part. > > u-boot project git history goes back to before u-boot 0.1.0, so remove > > CHANGELOG-before-U-Boot-1.1.5 file too. > > NAK. My position about these files has not changed. Please reconsider: u-boot has no need to be 'special' in this area, and this file's continued existence is a lingering harassment for developers such as myself. Best regards, Kim ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 0:25 ` Kim Phillips @ 2010-05-05 6:54 ` Wolfgang Denk 2010-05-05 13:51 ` Marek Vasut 2010-05-05 21:06 ` Kim Phillips 0 siblings, 2 replies; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 6:54 UTC (permalink / raw) To: u-boot Dear Kim Phillips, In message <20100504192544.6506945d.kim.phillips@freescale.com> you wrote: > > > > It is assumed that this file's only purpose is to serve non-git users > > > downloading u-boot project source in the form of a tarball release. If > > > that is the case, then the generation of the CHANGELOG file should occur > > > at tarball release generation time, and not consume duplicate history, Can you recommend a way how such auto-generation / inclusion would be done? Currently I'm using something like this: $ V=2010.03 $ PREFIX=u-boot-${V} $ git archive --format=tar --prefix=${PREFIX}/ v${V} | \ > bzip2 -v9 >~/tmp/${PREFIX}.tar.bz2 How could this be made to include a non-git-controlled CHANGELOG? > > Slowing things down? C'me on. > > maybe not git grep performance-wise (yet), but on a > frequently-occurring search term, when we have to visually sift through > and page down through a large number of CHANGELOG hits (that invariably > show up first), then yes, I consider that a development-time barrier. So what about git performance? A "grep foobar CHANGELOG" is significantly faster than a "git log --grep=foobar", isn't it? > > NAK. My position about these files has not changed. > > Please reconsider: u-boot has no need to be 'special' in this area, and > this file's continued existence is a lingering harassment for > developers such as myself. Harassment? Strong words. I am seriously listening to your arguments, but so far I feel that there is a lot of emotion in your message but only few arguments I can follow. I can understand that you see little use in this file, and even that occasionally it comes into your way. On the other hand, I regularly use this file, because it speeds up my work. In addition to the arguments already mentioned here is another reason why I would like to keep this file in place: Quite often we have to work with copies of the U-Boot source tree that do not contain any good information about which version they might have been derived from; the CHANGELOG at least gives an idea about the time frame. How would you try such identification? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Respect is a rational process -- McCoy, "The Galileo Seven", stardate 2822.3 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 6:54 ` Wolfgang Denk @ 2010-05-05 13:51 ` Marek Vasut 2010-05-05 14:17 ` Wolfgang Denk 2010-05-05 21:06 ` Kim Phillips 1 sibling, 1 reply; 20+ messages in thread From: Marek Vasut @ 2010-05-05 13:51 UTC (permalink / raw) To: u-boot Dne St 5. kv?tna 2010 08:54:01 Wolfgang Denk napsal(a): > Dear Kim Phillips, > > In message <20100504192544.6506945d.kim.phillips@freescale.com> you wrote: > > > > It is assumed that this file's only purpose is to serve non-git users > > > > downloading u-boot project source in the form of a tarball release. > > > > If that is the case, then the generation of the CHANGELOG file > > > > should occur at tarball release generation time, and not consume > > > > duplicate history, > > Can you recommend a way how such auto-generation / inclusion would be > done? > > Currently I'm using something like this: > > $ V=2010.03 > $ PREFIX=u-boot-${V} git log > CHANGELOG > $ git archive --format=tar --prefix=${PREFIX}/ v${V} | \ > tar -r CHANGELOG or something ? > > bzip2 -v9 >~/tmp/${PREFIX}.tar.bz2 > > How could this be made to include a non-git-controlled CHANGELOG? > > > > Slowing things down? C'me on. > > > > maybe not git grep performance-wise (yet), but on a > > frequently-occurring search term, when we have to visually sift through > > and page down through a large number of CHANGELOG hits (that invariably > > show up first), then yes, I consider that a development-time barrier. > > So what about git performance? A "grep foobar CHANGELOG" is > significantly faster than a "git log --grep=foobar", isn't it? > > > > NAK. My position about these files has not changed. > > > > Please reconsider: u-boot has no need to be 'special' in this area, and > > this file's continued existence is a lingering harassment for > > developers such as myself. > > Harassment? Strong words. I am seriously listening to your arguments, > but so far I feel that there is a lot of emotion in your message but > only few arguments I can follow. Yup > > I can understand that you see little use in this file, and even that > occasionally it comes into your way. > > On the other hand, I regularly use this file, because it speeds up my > work. > > In addition to the arguments already mentioned here is another reason > why I would like to keep this file in place: Quite often we have to > work with copies of the U-Boot source tree that do not contain any > good information about which version they might have been derived > from; the CHANGELOG at least gives an idea about the time frame. > > How would you try such identification? > > Best regards, > > Wolfgang Denk ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 13:51 ` Marek Vasut @ 2010-05-05 14:17 ` Wolfgang Denk 2010-05-05 14:56 ` Timur Tabi 0 siblings, 1 reply; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 14:17 UTC (permalink / raw) To: u-boot Dear Marek, In message <201005051551.47704.marek.vasut@gmail.com> you wrote: > > > Can you recommend a way how such auto-generation / inclusion would be > > done? > > > > Currently I'm using something like this: > > > > $ V=2010.03 > > $ PREFIX=u-boot-${V} > > git log > CHANGELOG > > > $ git archive --format=tar --prefix=${PREFIX}/ v${V} | \ > > > tar -r CHANGELOG or something ? Using a plain "CHANGELOG" here a misses the "${PREFIX}/" part, so I would have to create this directory first [and probably a tmp directory to put it in first to avoid potential name conflicts], then create the CHANGELOG file there, then append it to the archive, then clean everything up. Is there a more elegant way? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Love your country but never trust its government." - from a hand-painted road sign in central Pennsylvania ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 14:17 ` Wolfgang Denk @ 2010-05-05 14:56 ` Timur Tabi 2010-05-05 15:07 ` Wolfgang Denk 0 siblings, 1 reply; 20+ messages in thread From: Timur Tabi @ 2010-05-05 14:56 UTC (permalink / raw) To: u-boot On Wed, May 5, 2010 at 9:17 AM, Wolfgang Denk <wd@denx.de> wrote: > Using a plain "CHANGELOG" here a misses the "${PREFIX}/" part, so I > would have to create this directory first [and probably a tmp > directory to put it in first to avoid potential name conflicts], then > create the CHANGELOG file there, then append it to the archive, then > clean everything up. I can't say if there is a more elegant way of doing this, but if there isn't, can't you automate the above steps with a script? I agree with Kim. Is there anyone besides you who uses CHANGELOG? If not, then maybe it should be deleted from the repository. I don't see why you can't run a script to regenerate it when you need it. -- Timur Tabi Linux kernel developer at Freescale ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 14:56 ` Timur Tabi @ 2010-05-05 15:07 ` Wolfgang Denk 2010-05-05 16:03 ` Peter Tyser 0 siblings, 1 reply; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 15:07 UTC (permalink / raw) To: u-boot Dear Timur Tabi, In message <n2med82fe3e1005050756i7f91e365z91ce1bf19d382537@mail.gmail.com> you wrote: > > I agree with Kim. Is there anyone besides you who uses CHANGELOG? If > not, then maybe it should be deleted from the repository. I don't see > why you can't run a script to regenerate it when you need it. The thing is that I use it all the time. grepping there is often more efficient for me then using git log --grep. Does it hurt you? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de I wish I had a bronze torc for every user who didn't read the manual. - Terry Pratchett, _The Light Fantastic_ ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 15:07 ` Wolfgang Denk @ 2010-05-05 16:03 ` Peter Tyser 2010-05-05 19:05 ` Wolfgang Denk 0 siblings, 1 reply; 20+ messages in thread From: Peter Tyser @ 2010-05-05 16:03 UTC (permalink / raw) To: u-boot Hi Wolfgang, > In message <n2med82fe3e1005050756i7f91e365z91ce1bf19d382537@mail.gmail.com> you wrote: > > > > I agree with Kim. Is there anyone besides you who uses CHANGELOG? If > > not, then maybe it should be deleted from the repository. I don't see > > why you can't run a script to regenerate it when you need it. > > The thing is that I use it all the time. grepping there is often more > efficient for me then using git log --grep. Could you describe what you use CHANGELOG for? I often look at logs, but 99% of the time its a log of a specific file or directory to trace a bug, see why feature X was added, etc. I rarely look at the repositories entire log, and if I do, I use 'git log'. Although 'git log' takes longer, its guaranteed to be accurate, unlike CHANGELOG which may be slightly out of date. If you do prefer the speed of looking at a CHANGELOG file, its easy to generate one when you require it. > Does it hurt you? 'hurt' is a strong word, but it certainly annoys me too. Eg: - Every time someone greps they have to visually ignore the CHANGELOG file hits, or alternately make a grep wrapper script specific to u-boot that strips out CHANGELOG hits. - Its a duplication of data that's already stored in the repository history. Who likes duplicated data? - For any change that is automated via a script/grep/sed/etc one needs to filter out the CHANGELOG files. I don't know if this is much cleaner, but: $ V=2010.03 $ PREFIX=u-boot-${V} $ git archive --format=tar --prefix=${PREFIX}/ v${V} | tar -xC ~/tmp $ git log > ~/tmp/${PREFIX}/CHANGELOG $ tar -cj -f ~/tmp/${PREFIX}.tar.bz2 -C ~/tmp/ ${PREFIX} $ rm -fr ~/tmp/${PREFIX} We could also follow Linux's lead and upload the CHANGELOG as a separate file from the source. eg there would be a CHANGELOG-{V} for each released U-Boot version detailing only what changed since the last release (www.kernel.org/pub/linux/kernel/v2.6/), or alternatively one mega-CHANGELOG like we're doing now if people prefer. Best, Peter ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 16:03 ` Peter Tyser @ 2010-05-05 19:05 ` Wolfgang Denk 2010-05-05 19:45 ` Scott Wood 2010-05-05 20:37 ` Peter Tyser 0 siblings, 2 replies; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 19:05 UTC (permalink / raw) To: u-boot Dear Peter Tyser, In message <1273075406.2451.4225.camel@localhost.localdomain> you wrote: > > Could you describe what you use CHANGELOG for? I often look at logs, > but 99% of the time its a log of a specific file or directory to trace a > bug, see why feature X was added, etc. I rarely look at the > repositories entire log, and if I do, I use 'git log'. Although 'git > log' takes longer, its guaranteed to be accurate, unlike CHANGELOG which > may be slightly out of date. Most frequently I use it in combination with some form of grep command (grep, agrep etc.); sometimes I use it in vi/view for manual searching / reading. Here are a few reasons where I prefer accessing the CHANGELOG over running "git log --grep": 1) it's faster: -> time grep foobar CHANGELOG real 0m0.005s user 0m0.004s sys 0m0.001s -> time git log --grep=foobar >/dev/null real 0m0.240s user 0m0.219s sys 0m0.021s 2) it's more efficient: -> strace -f grep foobar CHANGELOG 2>&1 >/dev/null | wc -l 143 -> strace -f git log --grep=foobar 2>&1 >/dev/null | wc -l 2494 3) it delivers only the lines I cactually search for, while "git log --grep" always spills out the whole commit message: -> grep MPC512x CHANGELOG | wc -l 24 -> git log --grep=MPC512x | wc -l 272 4) I can use arbitrary grep options. I am not aware of a git equivalent to, say: -> grep -C2 --color string CHANGELOG 5) I can use other tools to process the messages, like agrep for fuzzy searching; I frequently use this when checking if a specific patch has been applied - too many times a plain text search does not work because the committer manually edited the commit message to fix typos etc. I am not aware of a git equivalent to, say: -> agrep -2 -i string CHANGELOG This is probably my most frequently used command > If you do prefer the speed of looking at a CHANGELOG file, its easy to > generate one when you require it. Yes, I know. But I also want it available to those who don't use git, so it should to be included in the release tarball, and in the auto-generated tarballs when using the "snapshot" links on the web interface; for example try: -> wget -O u-boot.tgz 'http://git.denx.de/?p=u-boot.git;a=snapshot;sf=tgz' > > Does it hurt you? > > 'hurt' is a strong word, but it certainly annoys me too. Eg: > - Every time someone greps they have to visually ignore the CHANGELOG > file hits, or alternately make a grep wrapper script specific to u-boot > that strips out CHANGELOG hits. Strange. If I ever run into such a problem then so infrequently that I don't notice it. I guess this is because I usually only grep in specific file types (like "*.[Sch]" or so). > - Its a duplication of data that's already stored in the repository > history. Who likes duplicated data? In the strict sense, all the checked out files are duplicated data. > - For any change that is automated via a script/grep/sed/etc one needs > to filter out the CHANGELOG files. You probably need to exclude a number of other files as well? > We could also follow Linux's lead and upload the CHANGELOG as a separate > file from the source. eg there would be a CHANGELOG-{V} for each > released U-Boot version detailing only what changed since the last > release (www.kernel.org/pub/linux/kernel/v2.6/), or alternatively one > mega-CHANGELOG like we're doing now if people prefer. I would like to keep the CHANGELOG as part of tarballs, including auto-generated ones. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Speculation is always more interesting than facts. - Terry Pratchett, _Making_Money_ ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 19:05 ` Wolfgang Denk @ 2010-05-05 19:45 ` Scott Wood 2010-05-05 20:36 ` Wolfgang Denk 2010-05-05 20:37 ` Peter Tyser 1 sibling, 1 reply; 20+ messages in thread From: Scott Wood @ 2010-05-05 19:45 UTC (permalink / raw) To: u-boot On 05/05/2010 02:05 PM, Wolfgang Denk wrote: > Dear Peter Tyser, > > In message<1273075406.2451.4225.camel@localhost.localdomain> you wrote: >> >> Could you describe what you use CHANGELOG for? I often look at logs, >> but 99% of the time its a log of a specific file or directory to trace a >> bug, see why feature X was added, etc. I rarely look at the >> repositories entire log, and if I do, I use 'git log'. Although 'git >> log' takes longer, its guaranteed to be accurate, unlike CHANGELOG which >> may be slightly out of date. > > Most frequently I use it in combination with some form of grep command > (grep, agrep etc.); sometimes I use it in vi/view for manual searching > / reading. > > Here are a few reasons where I prefer accessing the CHANGELOG over > running "git log --grep": > > 1) it's faster: > > -> time grep foobar CHANGELOG > > real 0m0.005s > user 0m0.004s > sys 0m0.001s > > -> time git log --grep=foobar>/dev/null > > real 0m0.240s > user 0m0.219s > sys 0m0.021s Surely the extra quarter second is not too significant compared to the time it takes to formulate the query and examine the results. > 2) it's more efficient: > > -> strace -f grep foobar CHANGELOG 2>&1>/dev/null | wc -l > 143 > -> strace -f git log --grep=foobar 2>&1>/dev/null | wc -l > 2494 It also requires that a cache be maintained just for this purpose. > 3) it delivers only the lines I cactually search for, while "git log > --grep" always spills out the whole commit message: > > -> grep MPC512x CHANGELOG | wc -l > 24 > -> git log --grep=MPC512x | wc -l > 272 $ git log | grep MPC512x | wc -l 24 Likewise for grep options and alternate tools. Or if you really want, you could do this locally, and put CHANGELOG in .gitignore: $ time git log > CHANGELOG real 0m0.453s user 0m0.350s sys 0m0.050s You could even have a cron job keep it up to date. :-) -Scott ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 19:45 ` Scott Wood @ 2010-05-05 20:36 ` Wolfgang Denk 0 siblings, 0 replies; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 20:36 UTC (permalink / raw) To: u-boot Dear Scott Wood, In message <4BE1CACE.6040005@freescale.com> you wrote: > > Surely the extra quarter second is not too significant compared to the > time it takes to formulate the query and examine the results. The requests are often generated by some script, and there may be tens of them - enough that the 'git log' versions takes several seconds. > > 2) it's more efficient: > > > > -> strace -f grep foobar CHANGELOG 2>&1>/dev/null | wc -l > > 143 > > -> strace -f git log --grep=foobar 2>&1>/dev/null | wc -l > > 2494 > > It also requires that a cache be maintained just for this purpose. I can't parse that. > You could even have a cron job keep it up to date. :-) Agreed. There are many, many possibilities. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Perl itself is usually pretty good about telling you what you shouldn't do. :-) - Larry Wall in <11091@jpl-devvax.JPL.NASA.GOV> ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 19:05 ` Wolfgang Denk 2010-05-05 19:45 ` Scott Wood @ 2010-05-05 20:37 ` Peter Tyser 2010-05-05 20:58 ` Wolfgang Denk 1 sibling, 1 reply; 20+ messages in thread From: Peter Tyser @ 2010-05-05 20:37 UTC (permalink / raw) To: u-boot Hi Wolfgang, > > Could you describe what you use CHANGELOG for? I often look at logs, > > but 99% of the time its a log of a specific file or directory to trace a > > bug, see why feature X was added, etc. I rarely look at the > > repositories entire log, and if I do, I use 'git log'. Although 'git > > log' takes longer, its guaranteed to be accurate, unlike CHANGELOG which > > may be slightly out of date. > > Most frequently I use it in combination with some form of grep command > (grep, agrep etc.); sometimes I use it in vi/view for manual searching > / reading. I still don't grasp what the common use of looking at U-Boot's entire changelog is. What are some common tasks that require grepping U-Boot's entire changelog? Are these tasks performed frequently enough that the extra <1 second 'git log' requires is bothersome? <snip> > 3) it delivers only the lines I cactually search for, while "git log > 4) I can use arbitrary grep options. I am not aware of a git > 5) I can use other tools to process the messages, like agrep for fuzzy As Scott mentioned, these can be solved via 'git grep | <cmd>'. > > If you do prefer the speed of looking at a CHANGELOG file, its easy to > > generate one when you require it. > > Yes, I know. But I also want it available to those who don't use git, > so it should to be included in the release tarball, and in the > auto-generated tarballs when using the "snapshot" links on the web > interface; for example try: > > -> wget -O u-boot.tgz 'http://git.denx.de/?p=u-boot.git;a=snapshot;sf=tgz' For snapshots, the CHANGELOG file is going to be out of date though. It'll only list the changes that occurred up to the previous release. This seems worse than not having a CHANGELOG at all as its actively misleading people as to what changes their source code has. <snip> > > - For any change that is automated via a script/grep/sed/etc one needs > > to filter out the CHANGELOG files. > > You probably need to exclude a number of other files as well? I think in general you'd want to update all files other than CHANGELOG. As a concrete example, the following is a snippet from a script used for the recent directory reorganization: git grep lib_$ARCH | grep -v CHANGELOG | sed s/:.*$// | uniq | xargs perl -pi -e "s/lib_$ARCH/arch\/$ARCH\/lib/" I'll quit whining, just wanted to give my +1 for removing the changelog. Best, Peter ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 20:37 ` Peter Tyser @ 2010-05-05 20:58 ` Wolfgang Denk 2010-05-05 21:43 ` Peter Tyser 0 siblings, 1 reply; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 20:58 UTC (permalink / raw) To: u-boot Dear Peter Tyser, In message <1273091842.2451.4563.camel@localhost.localdomain> you wrote: > > I still don't grasp what the common use of looking at U-Boot's entire > changelog is. What are some common tasks that require grepping U-Boot's > entire changelog? Are these tasks performed frequently enough that the > extra <1 second 'git log' requires is bothersome? I'm trying to maintain some awareness of open patches. For example, when I receive a pull request I mark all included patches as processed; sometimes this includes tracking down older versions of the patches, or commit messages that have been changed on the way. And yes, the <1 second delay is bothersome when doing this frequently enough. > > -> wget -O u-boot.tgz 'http://git.denx.de/?p=u-boot.git;a=snapshot;sf=tgz' > > For snapshots, the CHANGELOG file is going to be out of date though. > It'll only list the changes that occurred up to the previous release. > This seems worse than not having a CHANGELOG at all as its actively > misleading people as to what changes their source code has. I disagree here. I find myself quite frequently in the situation that I have to identify the exact version some source tree has been derived from. Companies who maintain out-of-tree ports usually don't include any SCM information either. To me, the CHANGELOG is an extremely useful resource in such cases. > I'll quit whining, just wanted to give my +1 for removing the changelog. I don't consider you whining. I am listening to the arguments. I am not convinced yet, though. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de The human race is faced with a cruel choice: work or daytime tele- vision. ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 20:58 ` Wolfgang Denk @ 2010-05-05 21:43 ` Peter Tyser 2010-05-05 21:51 ` Wolfgang Denk 0 siblings, 1 reply; 20+ messages in thread From: Peter Tyser @ 2010-05-05 21:43 UTC (permalink / raw) To: u-boot > > I'll quit whining, just wanted to give my +1 for removing the changelog. > > I don't consider you whining. I am listening to the arguments. > I am not convinced yet, though. Well in that case, I'll chime in again:) > > I still don't grasp what the common use of looking at U-Boot's entire > > changelog is. What are some common tasks that require grepping U-Boot's > > entire changelog? Are these tasks performed frequently enough that the > > extra <1 second 'git log' requires is bothersome? > > I'm trying to maintain some awareness of open patches. For example, > when I receive a pull request I mark all included patches as > processed; sometimes this includes tracking down older versions of > the patches, or commit messages that have been changed on the way. > And yes, the <1 second delay is bothersome when doing this frequently > enough. I see, makes sense. This seems like a problem that is unique to you, as well as potentially a few other maintainers. I imagine the vast majority of developers rarely use the CHANGELOG file though. Would having maintainers create their own CHANGELOG files and/or use something like patchwork be acceptable? > > > -> wget -O u-boot.tgz 'http://git.denx.de/?p=u-boot.git;a=snapshot;sf=tgz' > > > > For snapshots, the CHANGELOG file is going to be out of date though. > > It'll only list the changes that occurred up to the previous release. > > This seems worse than not having a CHANGELOG at all as its actively > > misleading people as to what changes their source code has. > > I disagree here. I find myself quite frequently in the situation that > I have to identify the exact version some source tree has been > derived from. Companies who maintain out-of-tree ports usually don't > include any SCM information either. To me, the CHANGELOG is an > extremely useful resource in such cases. The CHANGELOG in a company's source tree won't provide any more information than the VERSION, PATCHLEVEL, and EXTRAVERSION in the Makefile though, right? Ie the CHANGELOG is only updated when the VERSION, PATCHLEVEL, and EXTRAVERSION are updated. Either way, it seems like an inexact method to determine the revision of the source code, and there should be a better solution so that you don't have to be a detective every time you get another vendor's source tree. It seems bad to have an inaccurate CHANGELOG. For example if someone got a snapshot tarball a week before the last release, their CHANGELOG would be missing over 500 changes. In this case the CHANGELOG clearly isn't serving its intended purpose and could actually mislead someone, eg "I know commit XYZ introduces a bug, but the changelog says I don't have commit XYZ in my tree, so I'm bug free!". In reality there have been 500 commits the user is unaware of, including potentially commit XYZ they were trying to avoid. OK, its a stretch, but I don't get the purpose of an inaccurate CHANGELOG in any case. Other than when the 1 commit that correlates to a tagged release is the the top-of-tree, the CHANGELOG is *never* up to date. It can only be believed if someone downloads an officially released tarball - otherwise it is most likely wrong. Best, Peter ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 21:43 ` Peter Tyser @ 2010-05-05 21:51 ` Wolfgang Denk 2010-07-16 18:44 ` Kim Phillips 0 siblings, 1 reply; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 21:51 UTC (permalink / raw) To: u-boot Dear Peter Tyser, In message <1273095808.2451.4674.camel@localhost.localdomain> you wrote: > > I see, makes sense. This seems like a problem that is unique to you, as > well as potentially a few other maintainers. I imagine the vast > majority of developers rarely use the CHANGELOG file though. Would > having maintainers create their own CHANGELOG files and/or use something > like patchwork be acceptable? As far as the patch processing is concerned, a dynamically generated file is perfectly good enough for me. If we can keep the "CHANGELOG" make target I have all I need here. > > I disagree here. I find myself quite frequently in the situation that > > I have to identify the exact version some source tree has been > > derived from. Companies who maintain out-of-tree ports usually don't > > include any SCM information either. To me, the CHANGELOG is an > > extremely useful resource in such cases. > > The CHANGELOG in a company's source tree won't provide any more > information than the VERSION, PATCHLEVEL, and EXTRAVERSION in the > Makefile though, right? Ie the CHANGELOG is only updated when the > VERSION, PATCHLEVEL, and EXTRAVERSION are updated. Either way, it seems > like an inexact method to determine the revision of the source code, and > there should be a better solution so that you don't have to be a > detective every time you get another vendor's source tree. Thats's not quite right. I used to update CHANGELOG more frequently in the past. > It seems bad to have an inaccurate CHANGELOG. For example if someone > got a snapshot tarball a week before the last release, their CHANGELOG > would be missing over 500 changes. In this case the CHANGELOG clearly Agreed. It was never perfect, but the best we (well, I) had. > OK, its a stretch, but I don't get the purpose of an inaccurate > CHANGELOG in any case. Other than when the 1 commit that correlates to > a tagged release is the the top-of-tree, the CHANGELOG is *never* up to > date. It can only be believed if someone downloads an officially > released tarball - otherwise it is most likely wrong. Right. Well, Kim's pointer to gitattributes is probably the solution to this issue. Please allow me for some time to let this sink in. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de He is truly wise who gains wisdom from another's mishap. ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 21:51 ` Wolfgang Denk @ 2010-07-16 18:44 ` Kim Phillips 0 siblings, 0 replies; 20+ messages in thread From: Kim Phillips @ 2010-07-16 18:44 UTC (permalink / raw) To: u-boot On Wed, 5 May 2010 23:51:25 +0200 Wolfgang Denk <wd@denx.de> wrote: > Right. Well, Kim's pointer to gitattributes is probably the solution > to this issue. Please allow me for some time to let this sink in. ping - it's been two months. Kim ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 6:54 ` Wolfgang Denk 2010-05-05 13:51 ` Marek Vasut @ 2010-05-05 21:06 ` Kim Phillips 2010-05-05 21:07 ` Wolfgang Denk 2010-05-05 21:09 ` Kim Phillips 1 sibling, 2 replies; 20+ messages in thread From: Kim Phillips @ 2010-05-05 21:06 UTC (permalink / raw) To: u-boot On Wed, 5 May 2010 08:54:01 +0200 Wolfgang Denk <wd@denx.de> wrote: > Dear Kim Phillips, > > In message <20100504192544.6506945d.kim.phillips@freescale.com> you wrote: > > > > > > It is assumed that this file's only purpose is to serve non-git users > > > > downloading u-boot project source in the form of a tarball release. If > > > > that is the case, then the generation of the CHANGELOG file should occur > > > > at tarball release generation time, and not consume duplicate history, > > Can you recommend a way how such auto-generation / inclusion would be > done? > > Currently I'm using something like this: > > $ V=2010.03 > $ PREFIX=u-boot-${V} > $ git archive --format=tar --prefix=${PREFIX}/ v${V} | \ > > bzip2 -v9 >~/tmp/${PREFIX}.tar.bz2 > > How could this be made to include a non-git-controlled CHANGELOG? (see below) > > > Slowing things down? C'me on. > > > > maybe not git grep performance-wise (yet), but on a > > frequently-occurring search term, when we have to visually sift through > > and page down through a large number of CHANGELOG hits (that invariably > > show up first), then yes, I consider that a development-time barrier. > > So what about git performance? A "grep foobar CHANGELOG" is > significantly faster than a "git log --grep=foobar", isn't it? true, but I find that git log runs well after it is run once and everything is loaded in the cache. Also, if I'm git grepping in the u-boot git tree, I want to grep the source, not the git log. > > > NAK. My position about these files has not changed. > > > > Please reconsider: u-boot has no need to be 'special' in this area, and > > this file's continued existence is a lingering harassment for > > developers such as myself. > > Harassment? Strong words. I am seriously listening to your arguments, > but so far I feel that there is a lot of emotion in your message but > only few arguments I can follow. you are right; bad choice of words; I meant something milder - more along the lines of 'annoyance'. > In addition to the arguments already mentioned here is another reason > why I would like to keep this file in place: Quite often we have to > work with copies of the U-Boot source tree that do not contain any > good information about which version they might have been derived > from; the CHANGELOG at least gives an idea about the time frame. > > How would you try such identification? it appears that the granularity of CHANGELOG updates is equal to that of VERSION, PATCHLEVEL, and EXTRAVERSION assignments in the root Makefile; so presumably one can refer to those instead. For exact per-export granularity, one can do something like this: cd u-boot echo '$Format:%H$' > snapshot.commit git add snapshot.commit && git commit -m 'add snapshot.commit file' echo 'snapshot.commit' > .git/info/attributes git archive --format=tar --prefix=${PREFIX}/ <commit> ... ...the resultant tarball's snapshot.commit file will contain the value of the sha id representing commit <commit>. for more info, see the gitattributes manpage and the list of placeholders in the PRETTY FORMATS section of the git log manpage. Kim ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 21:06 ` Kim Phillips @ 2010-05-05 21:07 ` Wolfgang Denk 2010-05-05 21:09 ` Kim Phillips 1 sibling, 0 replies; 20+ messages in thread From: Wolfgang Denk @ 2010-05-05 21:07 UTC (permalink / raw) To: u-boot Dear Kim Phillips, In message <20100505160607.99edd83d.kim.phillips@freescale.com> you wrote: > > > How would you try such identification? > > it appears that the granularity of CHANGELOG updates is equal to that > of VERSION, PATCHLEVEL, and EXTRAVERSION assignments in the root > Makefile; so presumably one can refer to those instead. This doesn't workl reliably. Too often companies insert their own version information there, which sometimes is completely unrelated to what we use. > For exact per-export granularity, one can do something like this: > > cd u-boot > echo '$Format:%H$' > snapshot.commit > git add snapshot.commit && git commit -m 'add snapshot.commit file' > echo 'snapshot.commit' > .git/info/attributes > git archive --format=tar --prefix=${PREFIX}/ <commit> ... > > ...the resultant tarball's snapshot.commit file will contain the value > of the sha id representing commit <commit>. > > for more info, see the gitattributes manpage and the list of > placeholders in the PRETTY FORMATS section of the git log manpage. Ah! That's interesting. Another git feature I didn't know yet. /me is reading the documentation. Thanks a lot for this interesting tip! Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Mandrell: "You know what I think?" Doctor: "Ah, ah that's a catch question. With a brain your size you don't think, right?" - Dr. Who ^ permalink raw reply [flat|nested] 20+ messages in thread
* [U-Boot] [PATCH 2/2] remove main CHANGELOG file 2010-05-05 21:06 ` Kim Phillips 2010-05-05 21:07 ` Wolfgang Denk @ 2010-05-05 21:09 ` Kim Phillips 1 sibling, 0 replies; 20+ messages in thread From: Kim Phillips @ 2010-05-05 21:09 UTC (permalink / raw) To: u-boot On Wed, 5 May 2010 16:06:07 -0500 Kim Phillips <kim.phillips@freescale.com> wrote: > echo 'snapshot.commit' > .git/info/attributes make that: echo 'snapshot.commit export-subst' > .git/info/attributes Kim ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2010-07-16 18:44 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-04-14 2:16 [U-Boot] [PATCH 2/2] remove main CHANGELOG file Kim Phillips 2010-05-04 21:41 ` Wolfgang Denk 2010-05-05 0:25 ` Kim Phillips 2010-05-05 6:54 ` Wolfgang Denk 2010-05-05 13:51 ` Marek Vasut 2010-05-05 14:17 ` Wolfgang Denk 2010-05-05 14:56 ` Timur Tabi 2010-05-05 15:07 ` Wolfgang Denk 2010-05-05 16:03 ` Peter Tyser 2010-05-05 19:05 ` Wolfgang Denk 2010-05-05 19:45 ` Scott Wood 2010-05-05 20:36 ` Wolfgang Denk 2010-05-05 20:37 ` Peter Tyser 2010-05-05 20:58 ` Wolfgang Denk 2010-05-05 21:43 ` Peter Tyser 2010-05-05 21:51 ` Wolfgang Denk 2010-07-16 18:44 ` Kim Phillips 2010-05-05 21:06 ` Kim Phillips 2010-05-05 21:07 ` Wolfgang Denk 2010-05-05 21:09 ` Kim Phillips
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox