a ports developer daily git workflow
dch at skunkwerks.at
Fri May 31 09:59:16 UTC 2019
Below is my day-to-day workflow for dealing with ports and patches in
git. While this is ports focused, I use the same approach for src but
significantly less frequently. Comments welcome, and I would *love* to
see similar flows for svn. Perhaps we can do a survey once we have a
good number of workflows, and find out what the most used ones, and most
used features are, that we need to preserve.
Most of the discussion so far about git & svn on has been based on
individual features, which will clearly never be at parity no matter
what the direction of comparison, nor the confirmation bias of the
individuals making their (valid) points.
I’m interested in hearing how other people use both svn and git, so we
can compare real-world workflows, and move past the fruitless discussions
that compare isolated features in theoretical use cases.
In the example below the upstream is the “official unofffical” git mirror
on github, but the workflow doesn’t require nor mandate github at all.
This workflow has been used by a number of people who were not necessarily
familiar with FreeBSD nor ports, to successfully maintain a custom set of
ports and packages that ebbed and flowed as we reviewed and committed
changes into the official FreeBSD ports, instead of our custom fork, and
used this tree to manage packages for a number of jails and
This has worked really well in allowing us the best of both worlds -
updated ports from the project and community, and custom fixes or
changes when we needed something urgently to deal with security
vulnerabilities or occasionally to pin a port where we needed an older
version for a period of time.
We also have more extensive documentation on pulling in specific patches
from FreeBSD ports when we are *not* ready to bump all the versions, but
need a single fix, but I think everybody here is already well familiar
O for a muse of fire, that would ascend the brightest heaven of invention!
More information about the freebsd-git