Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Apr 2021 02:44:36 +0200
From:      Martin Matuska <mm@FreeBSD.org>
To:        Warner Losh <imp@bsdimp.com>, Ed Maste <emaste@freebsd.org>
Cc:        freebsd-git <freebsd-git@freebsd.org>, Xin Li <delphij@FreeBSD.org>, Ryan Moeller <freqlabs@FreeBSD.org>, Alexander Motin <mav@FreeBSD.org>, Mateusz Guzik <mjg@FreeBSD.org>
Subject:   Re: OpenZFS branch tracking policy
Message-ID:  <30f529c1-6087-e704-8cc7-0c48a40b7430@FreeBSD.org>
In-Reply-To: <41924e9d-9d61-6646-6c8f-e4458f94296e@FreeBSD.org>
References:  <21c7313e-315c-ec48-9437-e0a3d4ec14d2@FreeBSD.org> <CANCZdfopOxm-HTYkVPHkEweHw-F%2BA9mk3Vv26x4t3MEAVEd2gQ@mail.gmail.com> <CAPyFy2DS=nsE3-JQdqQC797xQhAiBACkuyA%2BcxkcRY0yeB_6=w@mail.gmail.com> <CANCZdfoPm0tfDpBTU8ORy-_Oa-tkiNX0_MeAdJn0T5ZJdQe6MQ@mail.gmail.com> <41924e9d-9d61-6646-6c8f-e4458f94296e@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

I have prepared an example merged branch here:
https://github.com/mmatuska/freebsd-src/tree/openzfs_master_merged

The magical command was:
git merge -s subtree -Xsubtree="sys/contrib/openzfs" 891568c99 
--allow-unrelated-histories

Luckily, our current diff is manageable.

Martin

On 3. 4. 2021 1:37, Martin Matuska wrote:
> Hi Warner and Ed,
>
> 2.1-release has already been branched. The stable branch policy in 
> OpenZFS is somewhat strange, they make a staging branch for each 
> patchlevel release, but the commits are continuous.
>
> To have some idea how big the repo history is:
>
> $ git rev-list master --count
> 6662
>
> $ git rev-list zfs-2.1-release --count
> 6650
>
> master and zfs-2.1-release have 6650 common commits at the  moment
>
> $ git log master | wc -l
> 129868
>
> (linecount - 4 * revcount) / revcount = linecount / revcount - 4 = 
> 15,4938 comment lines per commit on average
>
> Initial commit was made in Feb 26, 2008.
>
> Yearly commit counts:
>
> $ git log master | grep -c -E '^Date:.* 2020 -[0-9]+$'
> 666
>
> $ git log master | grep -c -E '^Date:.* 2019 -[0-9]+$'
> 535
>
> $git log master | grep -c -E '^Date:.* 2018 -[0-9]+$'
> 428
>
> Martin
>
> On 2. 4. 2021 20:15, Warner Losh wrote:
>>
>>
>> On Fri, Apr 2, 2021 at 11:56 AM Ed Maste <emaste@freebsd.org 
>> <mailto:emaste@freebsd.org>> wrote:
>>
>>     On Fri, 2 Apr 2021 at 11:50, Warner Losh <imp@bsdimp.com
>>     <mailto:imp@bsdimp.com>> wrote:
>>     >
>>     > We'd always hoped that we'd be able to do subtree merges from
>>     upstreams
>>     > that use git into FreeBSD. The big worry, though, was that this
>>     would
>>     > needless bloat the repo with a lot of history. We don't want,
>>     for example,
>>     > all of LLVM's history in the tree. We'd always anticipated that
>>     there'd be
>>     > some things we'd just accept the history for, since it is 
>> similar in
>>     > character to the vendor branches (though of course a bit more).
>>
>>     Note that if we do want to avoid bringing in the full history `git
>>     subtree merge` supports a `--squash` option. This brings in the 
>> set of
>>     upstream changes as a single commit, without bringing along the
>>     associated history. We will need to do more experimentation to 
>> confirm
>>     that the full process, including bootstrapping, will work as we 
>> want.
>>     Assuming this all works it should allow us to forgo the use of a
>>     FreeBSD-specific vendor branch in src.
>>
>>     We've discussed mirroring any such 3rd-party source in some
>>     FreeBSD-controlled repository. This would allow the project to 
>> retain
>>     a full copy of the history, but avoid bloating src with it.
>>
>>     I agree with Warner that we may want a different policy (full 
>> history
>>     or snapshots) for different contrib sources.
>>
>>
>> Good points Ed. I'd forgotten about --squash.
>>
>> Martin, what's your timeline for wanting to implement these things? 
>> I'm unfamiliar with the OpenZFS schedules.
>>
>> Warner
> _______________________________________________
> freebsd-git@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-git
> To unsubscribe, send any mail to "freebsd-git-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?30f529c1-6087-e704-8cc7-0c48a40b7430>