Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: ChangeLog generation - pros and cons (council discussion request)
Date: Thu, 02 Jun 2011 13:23:16
Message-Id: pan.2011.06.02.13.12.37@cox.net
In Reply to: [gentoo-dev] ChangeLog generation - pros and cons (council discussion request) by Fabian Groffen
1 Fabian Groffen posted on Thu, 02 Jun 2011 11:13:38 +0200 as excerpted:
2
3 > Obviously, all history is lost. VCSs other than CVS might keep history
4 > across moves here (svn, git, hg...), hence a "follow" could perhaps find
5 > renames. Question is if this can be detected in such a way that a
6 > useful ChangeLog can be generated. Will version bumps that are almost
7 > identical copies, that show up as copies/renames cause issues here?
8
9 Git, which has been described as a content tracker that happens to have a
10 DVCS of the same name built around it, definitely follows moves/renames
11 without losing history. It even has an adjustable percent-change
12 threshold at which a similar file is detected as a move/rename, for
13 purposes of git-log and statistics generation.
14
15 The problem with autogeneration based on git log would then come down to
16 the impedance miss-match between git as a content tracker and a file-based
17 changelog.
18
19 For those with access to the full git repo and log, it isn't normally a
20 problem since the content isn't lost, you just switch your git log
21 filtering to include both locations instead of just one. (And false-
22 positives aren't generally a problem either in that case, the human filter
23 picks up on it pretty fast and rejects it /as/ a false positive, and the
24 the git log filtering simply doesn't get changed.) This of course is yet
25 another factor in favor of allowing full git-pull access to all, the whole
26 auto-generation thing becomes moot.
27
28 If full git-pull access is not allowed for all, however, or if the rsync
29 sync options are retained as they likely will be in any case, then
30 generated changelogs remains a valid consideration.
31
32 Perhaps the easiest approach in that case would be to simply take the
33 limitation at face value, accepting that generated changelogs apply to
34 only the current package name, and to lookup what happened before a move,
35 one either does the full git checkout (if it's a public option) and looks
36 there, or checks the gitweb, etc, status.
37
38 As for dealing with the existing history and changelogs, either the
39 conversion scripts can take what they can get out of the CVS logs and
40 settle for that, or the existing changelogs could be committed, then
41 deleted and that committed, so anyone wanting to see the existing history
42 at the time of the conversion could simply check the changelog as it was
43 initially committed and then deleted.
44
45 --
46 Duncan - List replies preferred. No HTML msgs.
47 "Every nonfree program has a lord, a master --
48 and if you use the program, he is your master." Richard Stallman