FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 05-02-2010, 03:13 PM
Jim Ramsay
 
Default The problem of ChangeLog generation

Peter Volkov wrote:
> ?? ??????, 13/04/2010 ?? 17:18 +0530, Nirbheek Chauhan ??????????:
> > The traditional ChangeLog that is currently employed in gentoo-x86
> > (and in other projects) is simply an ugly hack
>
> The difference between gentoo-x86 ebuild ChangeLogs and ChangeLogs used
> in other projects is

I think another very important distinction (that you imply below,
but I want to specifically point out here) is that we have *many*
per-project ChangeLogs whereas most other projects have a
*single* monolithic ChangeLog.

> > Think of it like this: if you make a typo in a commit message, or
> > forget to add something; you can't change it after you've published
> > the commit (cvs/svn commit or git push) to the world.
>
> And then it's better to keep ChangeLogs. For developers it was never a
> problem to script `echangelog "log" && repoman commit -m "log"` and
> conflict resolution is really not that hard with git. In spirit of
> Gentoo, it's better to write some tool to update Manifests after
> conflict resolution instead of making ChangeLogs less useful for those
> who uses them.

This is a very good point regarding ease of conflict resolution.

Further to my other point above, the traditional ChangeLog
ugliness really only hits you with a centralized setup+git if
*everyone* is editing the *same* ChangeLog: If every commit
touches the same file in the same place (ie, prepending to a
ChangeLog file in the same location), you are guaranteed to have
collisions every time you pull a new version of the file. This
is why most projects with a single monolithic changelog
auto-generate them, or perhaps just craft them at release time.

Our case, though it is a centralized repository model, is quite
different. The chance of collisions in a package-specific
ChangeLog is, as it is today with CVS, pretty unlikely. In fact,
I think the only time it usually happens to me is when an arch
stabilizes my package while I'm making a change, and these are
very easy to fix.

(In fact, it may be possible to help git out with this specific
ChangeLog situation by using a "custom merge driver", see
GITATTRIBUTES(5) for details, though deployment of a custom merge
driver can be tricky)

> BTW as for profiles ChangeLogs... May be it's better to generate them.

That's another important distinction and probably a good idea. I
think those profile ChangeLogs are also not as user-facing as the
per-package ones, so an autogenerated one makes a lot of sense.

--
Jim Ramsay
Gentoo/Linux Developer (rox/fluxbox/gkrellm)
 

Thread Tools




All times are GMT. The time now is 03:20 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org