Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Dec 2020 09:12:29 +0100
From:      Marek Zarychta <zarychtam@plan-b.pwste.edu.pl>
To:        Helge Oldach <freebsd@oldach.net>, freebsd-stable@freebsd.org
Subject:   Re: HEADS UP: FreeBSD src repo transitioning to git this weekend
Message-ID:  <46cc263a-7469-7319-5966-a7905845d44b@plan-b.pwste.edu.pl>
In-Reply-To: <202012310750.0BV7oH12097374@nuc.oldach.net>
References:  <202012310750.0BV7oH12097374@nuc.oldach.net>

next in thread | previous in thread | raw e-mail | index | archive | help
W dniu 31.12.2020 o=C2=A008:50, Helge Oldach pisze:
> Warner Losh wrote on Wed, 23 Dec 2020 17:58:10 +0100 (CET):
>> On Wed, Dec 23, 2020 at 3:35 AM Marek Zarychta < zarychtam at plan-b.p=
wste.edu.pl> wrote:
>>> In file header, we have now only $FreeBSD$ since svn tags
>>> disappeared after the transition. Adding ident tags to certain
>>> files which are updated by mergemaster(8) or etcupdated(8) would be
>>> appreciated.
>> mergemaster and etcupdate can cope without them.
> Mergemaster is looking for "[$]${ID_TAG}:" (note the colon) which will
> break with the git "$FreeBSD$" scheme. This makes autoupdate annoyingly=

> explicit as local changes to /etc files will no longer be recognized as=

> "accepted".
>
> Furthermore, will the replay from git to svn (for stable branches)
> retain the existing "$FreeBSD: ..." tags? I guess not...
>
> The only sensible way out is to retire mergemaster and switch to
> etcupdate. This would affect any stable/1? users building from source.
>
> IMHO this is suprising behaviour and deserves a note in UPDATING.
>
> Kind regards
> Helge
>

We can still make use of these $FreeBSD$ tags with Git clean and smudge
filters.[1] This will help to keep the track of files updated by
mergemaster(8) or etcupdate(8). The whole work can be done at
local git repository administrator level.

The filters should be applied to only the files important for mergemagste=
r. Applying filters to the whole repository incredibly slows it down.
So far I found the reasonable subset of filtered files looking like this:=


etc/*
etc/*/*
libexec/rc/*
libexec/rc/rc.d/*
*.conf
dot.??*
lib/libc/gen/shells
lib/libc/net/hosts
lib/libpam/pam.d/*
usr.sbin/cron/cron/crontab
crypto/openssh/ssh*_config


[1]https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes

Regards,

--=20
Marek Zarychta





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46cc263a-7469-7319-5966-a7905845d44b>