|
From: Daniel J S. <dan...@ie...> - 2017-10-13 17:08:45
|
On 10/13/2017 07:56 AM, Eric S. Raymond wrote: > You haven't heard from me in a couple of days because I decided to > build a ChangeLog parser into reposurgeon and have been working on > that. > > It's not an easy problem, and I have doubts that the information > extracted that way will either cover a lot of commits or be of > useful quality. I have done such a thing with the post git-converted repository already. Code is here: https://sourceforge.net/p/gnuplot/patches/763/ I believe it is rather accurate, more accurate than the method you are describing which attempts to pull info from the ChangeLog entries alone. The methodology in the link above has the added, important detail (particular to the gnuplot project) of working from the diff hunks of the ChangeLog file itself for every git-translated changeset. It hinges on the fact that Ethan, et al. have consistently modified the proper location in the ChangeLog file for every CVS modification they've made. It's that action over the years which makes it accurate, i.e., the method traces the incremental changes made by the maintainers. Parsing the ChangeLog on its own won't work very well because, as I pointed out, the entries have been generated piecemeal. Ethan, et al. would often make a mod that goes back several days or possibly weeks pertaining to some checkin attributed to various contributors. Chronological order is not maintained; the mod maintainers make can be weeks apart from the date listed in the ChangeLog entry. That's why relying on the particular mod the maintainers made is better. The utility generates a list similar to the following: 87ca52fd56cf60be023642ad2664390affd5d896 2017-09-03 Daniel J Sebxxx <xxxxxx@xxxxxx> 778fe3d377116dc6d8c4f855372795bea5339e62 2017-09-03 Ethan A Merrxxx <xxxxxx@xxxxxx> c67c414e1604b20c562451ca6a2d6e9dca71561f 2017-09-02 Ethan A Merrxxx <xxxxxx@xxxxxx> 357f0cf68d691f3f76aade64053a6791f2e28686 2017-09-01 Bastian Maerkixxx <xxxxxx@xxxxxx> 984f9ad6c62f1c3ade9a41b46b5e034a2cb01c0a 2017-08-31 Martin Satuxxx <xxxxxx@xxxxxx> a0b903cbcae615cef9c0c0e3942c78ab150e3c82 2017-08-24 Ethan A Merrxxx <xxxxxx@xxxxxx> I pointed out in a previous email that the date in the above list is of no value for the git repository. There will not be good correlation between the date above and the actual date of the git changeset associated with 87ca52fd56cf60be023642ad2664390affd5d896, for example. All that needs to be done is some automated git command that will associate the author information in the above list with the gitID changeset in the list. > By the way, while working on this I found a bad date 2206-07-27 > in term/lua/ChangeLog. That probably wants to be 2006; somebody > should fix it. Ethan will have to fix that, thanks. Dan |