Gentoo Archives: gentoo-dev

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

Replies

Subject Author
Re: [gentoo-dev] Removal of CVS headers Mike Gilbert <floppym@g.o>