Re: in -current is svn still canonical?

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 16 Nov 2020 22:32:38 -0700
On Mon, Nov 16, 2020 at 10:00 PM Thomas Mueller <mueller6722_at_twc.com> wrote:

> > Subversion is the source of truth for FreeBSD today.
>
> > In the near future, likely early next month, we'll move our operations
> over
> > to git. Git will be the source of truth after the flag day. All developer
> > operations will be in git: committing to current, and MFCing will all be
> > done with git. As an aide to users that started the FreeBSD stable/11 and
> > stable/12 branches, however, we'll be exporting the commits to the git
> > branch stable/11 and stable/12 to subversion. The subversion tree will
> > otherwise be read-only after this date.
>
> > The doc tree will likely convert at the same time that the src tree moves
> > over. There will likely be a lag for the ports tree. It's unclear if they
> > will switch at the same time as the src tree, or if there will be a
> > few-months-long lag.
>
> > Warner
>
> Thanks for the information, but if you feel the need to send me a
> not-quite-CC, please don't send me the multipart/alternative version when
> you send the plain-text version to the list.
>
> I hate multipart/alternative!
>

I must apologize. Sadly, I use gmail, so I have no control over how it
decides to encode things, sadly. I've tried in the past, and alas, nothing
I've tried works for any length of time. Please forgive me whatever
unspeakable MIME atrocities it sends on my behalf. I've removed you from
the cc line in the hopes that the FreeBSD mail server cleans things up to
be more to your liking.


> When git becomes the source of truth on FreeBSD after the flag day, will
> it be necessary to git-clone the whole tree from scratch, or will there be
> a conversion tool to switch the svn download to proper git format?
>

For the supported stable branches, you'll be able to download via
subversion and switch over at any time before the end of project support
for the branch.

However, when you make the switch to git (either due to the flag day and
tracking -current, or jumping from svn on a stable branch), there's no tool
to convert the subversion checked out tree to a git tree. The needed
information needed to create the git tree isn't easily available from the
subversion checkout, so you'll need to do a git clone. If bandwidth is a
problem, you can do a shallow clone that omits all the history and just
grabs the branch of interest. Git is a bit more link efficient than
subversion, which is helpful. Git also has ways to help you share one local
repo across checked out versions, which can also help if you have to track
multiple branches.


> The doc tree is much smaller than the src tree, while the ports tree is
> much bigger than the src tree.  Is that the reason for the few-months-long
> lag switching the ports trree to git?
>

There's a couple of things that make it trickier. The ports tree does
quarterly branches. So there's a window around the quarterly branch when
it's easiest to make the switch. In addition, the character of the files in
the ports tree differs from src. Unlike subversion, git infers copies,
moves, etc. The mostly similar nature of the ports tree is likely to cause
git grief when ports are copied, resurrected from the attic, etc. The ports
folks are still figuring out how to best use git to track the history they
need to track without creating undue issues. It's not clear if that will
all be sorted out before the next window in December, or if they will have
to defer until March. This is why I hedged a bit as to the exact time,
since it's not been nailed down yet. So it's not so much the size, as the
difference in makeup and character between the two trees. The doc tree is,
as you point out, much smaller, less active and its needs are more modest
and largely mirror the src tree, so it can be done quickly at any time.

Warner
Received on Tue Nov 17 2020 - 04:32:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:25 UTC