Gentoo Archives: gentoo-dev

From: Mike Gilbert <floppym@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Removal of CVS headers
Date: Sun, 26 Feb 2017 21:43:33
Message-Id: CAJ0EP438JpQKjnbAFLz1VppE=WWveGmL6EfAvS397xrCzT5m9w@mail.gmail.com
In Reply to: Re: [gentoo-dev] Removal of CVS headers by Lars Wendler
1 On Sun, Feb 26, 2017 at 4:16 PM, Lars Wendler <polynomial-c@g.o> wrote:
2 > On Sun, 26 Feb 2017 22:07:48 +0100 Ulrich Mueller wrote:
3 >
4 >>>>>>> On Sun, 26 Feb 2017, Robin H Johnson wrote:
5 >>
6 >>> The 2014-10-14 meeting did NOT specify what CVS headers were in
7 >>> question, and it was later decided that this was $Header$, not
8 >>> $Id$.
9 >>
10 >>When and by whom was that decided? The unanimous council decision was
11 >>to remove "CVS headers" and the obvious understanding is that this
12 >>includes all Header, Id, Date, and so on. Quoting the actual agenda
13 >>item (which was submitted by another infra member, BTW):
14 >>
15 >># 3. CVS Headers
16 >>#
17 >># The hateful thing. We could supposedly somehow fill them in rsync
18 >># but that's complex and very dangerous (think of all the broken patch
19 >># files currently in gx86). I think we should kill them.
20 >>#
21 >># And while at it, I think it'd be good to actually remove most of
22 >># them from our files -- changing header templates and so on. While
23 >># not strictly useful, it decreases the size of the repo a bit and
24 >># avoids any future nightmares :).
25 >>
26 >>Then in the summary of the 2016-11-13 council meeting we have this:
27 >>
28 >>- Bug 579460 "please make repoman ignore a missing "# $Id$" header
29 >>line":
30 >> Implemented in repoman-2.3.0, but not yet in stable. Once this is
31 >> done, CVS headers can be removed as per 2014-10-14 council decision.
32 >>
33 >>Note that it explicitly mentions $Id$, and until today nobody had
34 >>raised any objections against its revoval.
35 >
36 > Well, here is my objection now. And it seems like nobody at the
37 > council seems to have understood the intention of this $Id$ header in
38 > git.
39 > See https://git-scm.com/docs/gitattributes and search for "ident".
40 >
41 >>> This was also discussed in August 2015:
42 >>> Subject: 'Infra plans regarding $Id$ - official answer...'
43 >>> https://archives.gentoo.org/gentoo-dev/message/d01ce943a9f9404c454c26bdb7efdf0e
44 >>
45 >>> $Id$ is used by Git as well, and I was a strong advocate that
46 >>> expansion of $Id$ should be ENABLED in the rsync exports, because it
47 >>> allowed tracing what version of a file was actually in use.
48 >>
49 >>I don't see any expansion of $Id$ in rsync as of today, 18 months
50 >>after the Git conversion. If it wasn't missed for 18 months, one can
51 >>hardly claim that it would be an important feature.
52 >>
53 >>Also I suspect that it is too late to enable it now, because it will
54 >>potentially break patches that have been added after the conversion to
55 >>Git.
56 >
57 > There is no need to enable it by default. But it is a very nice way to
58 > verify ebuild changes if being enabled locally on a git clone of the
59 > tree. Ever since portage was migrated to git I had this line in
60 > my .git/info/attributes file on my dev box:
61 >
62 > *.ebuild ident
63 >
64 > This is a very useful feature and should not be removed only because
65 > council was told that it's a mere CVS migration cruft. It is not!
66
67 If this is about keeping ebuilds in your overlay in sync, you could
68 alternatively use the output of git ls-tree to keep track of changes
69 using the same blob ids.
70
71 It may not be as immediately convenient for you, but it would
72 ultimately be more reliable in the long run; there are already several
73 ebuilds in the gentoo repo that are missing the $Id$ header. Even if
74 we restore the repoman check, I'm sure they will creep in.

Replies

Subject Author
Re: [gentoo-dev] Removal of CVS headers Lars Wendler <polynomial-c@g.o>