[U-Boot] [PATCH 2/2] remove main CHANGELOG file

Kim Phillips
2010-05-05T21:06:07Z

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