On Thu, Mar 06, 2008 at 09:55:12AM -0800, Dan Nicholson wrote: > On Wed, Mar 5, 2008 at 7:39 PM, Victor Lowther <[EMAIL PROTECTED]> wrote: > > Since git has very fast log creation aand we imported the entire revision > > history from CVS, we can generate ChangeLog on demand instead of having to > > track it. > > > > Specifically, any make target that requires it (make dist, etc) will pull > > an > > appropriately-formatted changelog out of git. > > I'm all for this, but I have a couple comments on the specifics. > > > +ChangeLog: > > + @-git log --no-merges --topo-order > $@ > > 1. I'm using git-1.5.3.x and it doesn't have --topo-order. I also > don't know when --no-merges was added.
--topo-order was added in the 1.5.4 series, apparently. Omitting it is no big deal -- it just orders the changelog entries to reflect the logical order they were applied in instead of being in strict reverse chronological order. I included --no-merges because most of my local workflow involves approx. 1 branch per crazy idea or bugfix, and merging them into master when I get ready to push chages upstream. Getting rid of the switch is also not a problem, it will just introduce more noise into the ChangeLog. > 2. You need to specify where the .git directory is so this will work > when srcdir != builddir. If you have an up to date ChangeLog in the > srcdir, you won't see this issue, but it does exist. So: > > git --git-dir=$(srcdir)/.git log ... > > Newer git will manage to search up the directory chain to find a .git > directory if builddir is a subdirectory of srcdir, but it's just safer > to specify exactly where it is. Good idea. The version I end up pushing will have this change. > 3. Please don't silence the make output. It only serves to make > debugging issues more difficult. If people don't want to see the > commands, they can just redirect to /dev/null. OK. > 4. We need to be smarter than using - for handling errors. It would > really suck to end up with an empty ChangeLog in a released tarball. > Personally, I would just drop the - and make it stop if the git-log > failed for any reason. Here's what they do in Xorg, which is more > robust, but may be overkill (this has come up repeatedly since they > started generating the ChangeLog): > > http://cgit.freedesktop.org/xorg/util/macros/tree/Makefile.am That does seem a little baroque. I think I will go with the "failure kills the make" option for now. :) > -- > Dan -- Victor Lowther Ubuntu Certified Professional _______________________________________________ Pm-utils mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pm-utils
