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 |