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. |