Re: git non-time-sequential logs

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 5 Jan 2021 09:45:50 -0700
On Mon, Jan 4, 2021 at 9:06 PM David G Lawrence <dg_at_dglawrence.com> wrote:

> > Yes. Git has never been a true/pure VCS. However, it does offer enough
> > VCS-like features to create a shared distributed versioned tree that's
> > useful to the project.
> >
> > As for date order, we could also add a commit hook that requires the date
> > to be properly set, but that creates friction for developers. Is that
> > friction worth the benefits? I don't think so, but as you say we could
> also
> > add notes... but since there's no checkout by date feature, I'm not sure
> > what good it would do.
>
> Warner,
>
>    Why is it that the project can't continue to operate the SVN server in
> addition to Git, gatewaying with -current as is being done with 12-stable?
> As a developer, I definitely need monotonic revision numbers and reliable
> dates when I'm trying to troubleshoot a regression. I understand that you
> want better 'collaboration' in FreeBSD, but why can't we have the best of
> both worlds?
>

Hi David,

We purposely decided not to mirror main -> head. This is a conversion and
git is the source of truth.

Mirroring to head would have created additional demand for the continued
generation of git notes to coordinate the subversion rXXXX numbers than
just having it be for stable/12. The script that's been written, but
delayed due to illness just publishes changes to subversion: nothing more.
Even this simple design took more time and effort than anticipated.

Mirroring to stable/12 only gives an effective end date for subversion.

Git does provide you the tools you want to do bisection, they are just a
bit different. Just as subversion provided new tools that CVS didn't, git
does the same. Subversion was also unfamiliar at first and took some time
to understand its paradigms and how they differed from CVS. They also
sounded scary and crazy at the time, but turned out to be more fear of the
unknown rather than actual problems in practice. Git provides a revision
count on a branch (or since inception) that can be used to soften the blow
of rXXXX numbers going away that's almost the same (it won't coordinate
between branches, but then we rarely needed that property of rXXXX
numbers). Git doesn't provide checkout by date, but we've not needed that
since CVS days when it was the only way to bisect a change (though I will
admit it was handy to be able to do it, one can still do it, but with a
little more effort and fuzziness).

So to do the mirroring back to subversion was hard, created logistical
issues, and was one more thing that needed care and feeding. As such, we
limited its scope to limit the extra work for the project and to time-bound
how long that obligation lasts.

Warner
Received on Tue Jan 05 2021 - 15:46:03 UTC

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