CURRENT, usr/src on git, howto "mergemaster"?
Mark Millard
marklmi at yahoo.com
Mon Jan 4 16:06:43 UTC 2021
David Wolfskill david at catwhisker.org wrote on
Mon Jan 4 12:29:45 UTC 2021 :
> After trying to use mergemaster for a couple of weeks (after the switch
> to sources from git, vs. svn) of daily tracking of head & stable/12 on a
> pair of machines (and weekly tracking of stable/12 on another 4), I gave
> up and switched to etcupdate.
>
> Note that each of mergemaster and etcupdate has a "-p" flag; it is
> functionally equivalent between the two, but called slightly
> differently:
>
> * mergemaster: 'Pre-buildworld mode'
>
> * etcupdate: '“pre-world” mode'
>
> And note that per src/UPDATING, "mergemaster -Fp" is invoked after "make
> buildworld" but before "make installworld" (under "To rebuild everything
> and install it on the current system.", under "COMMON ITEMS:").
I'm still experimenting but man etcupdate reports:
QUOTE
Bootstrapping
The etcupdate utility may need to be bootstrapped before it can be used.
The diff command will fail with an error about a missing reference tree
if bootstrapping is needed.
Bootstrapping etcupdate requires a source tree that matches the currently
installed world. The easiest way to ensure this is to bootstrap
etcupdate before updating the source tree to start the next world upgrade
cycle. First, generate a reference tree:
etcupdate extract
Second, use the diff command to compare the reference tree to your
current files in /etc. Undesired differences should be removed using an
editor, patch(1), or by copying files from the reference tree (located at
/var/db/etcupdate/current by default)
If the tree at /usr/src is already newer than the currently installed
world, a new tree matching the currently installed world can be checked
out to a temporary location. The reference tree for etcupdate can then
be generated via:
etcupdate extract -s /path/to/tree
The diff command can be used as above to remove undesired differences.
Afterwards, the changes in the tree at /usr/src can be merged via a
regular merge.
END QUOTE
I do not remember mergemaster having a bootstrap stage in setting
it up, a stage that should be executed before /usr/src (or whatever)
is updated. So the procedures are different overall.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-current
mailing list