From: Alex R. <sh...@al...> - 2003-06-01 15:19:13
|
On Sun, Jun 01, 2003 at 01:07:04PM +0200, Alexandre Duret-Lutz wrote: > >>> "Alex" == Alex Roitman <sh...@al...> writes: > Alex> One can create it with something like > Alex> $ rcs2log > ChangeLog > Alex> from the gramps2 source tree. This command uses CVS log > Alex> messages to build the log file and it recurses into the > Alex> subdirectories. > > This would help a lot. However, although rcs2log might be fine to > create the *initial* ChangeLog, using it to *update* ChangeLog has > several drawbacks: > > - your are tied to CVS; worse: to one CVS repository. This > make ChangeLog update difficult when you work from other > source control systems [1], or after importing gramps into > another CVS [2] (note that this happened with the creation > of the `gramps2' module -- all the CVS history of gramps was > lost). > > - log entries are kept separate from patches. This is odd: ChangeLog > entries should be part of patches as they are part of the change. > > - from a more philosophical standpoint: if ChangeLog is generated, > you ought to distribute its sources ("the preferred form of the work > for making modifications to it", as the GPL puts it), so that other > people can update it to. It seems a little hard to distribute > the CVS repository, though :) Alexandre, I agree with your arguments. There's actually another drawback -- with rcs2log you are generating a complete changelog every time you run it. It rubs me wrong way, since the changes could only occur after the last known entry :-) > All the projects I know do the converse: people write ChangeLog > manually, and use ChangeLog entries to fill in cvs messages. > This is no more work, but it makes your project independent of > the source control system and allows ChangeLog entries to be > included in patches. All it requires is that instead > of typing `cvs commit -m "message"', you add "message" to > ChangeLog yourself ("C-x 4 a" under emacs) and use `clcommit' > to commit your change. `clcommit' [3] is a script that will > read your ChangeLog entry and pass it as an `-m' argument > to cvs commit. It makes great sense to me. For non-emacs-gifted people, do you know by chance what is the standard GNU ChangeLog format that clcommit will recognize? I glanced casually through the script and noticed that it wants lines to start with tabs (not spaces). Any other requirements that you know of? Revision number? Alex -- Alexander Roitman http://ebner.neuroscience.umn.edu/people/alex.html Dept. of Neuroscience, Lions Research Building 2001 6th Street SE, Minneapolis, MN 55455 Tel (612) 625-7566 FAX (612) 626-9201 |