From owner-freebsd-git@freebsd.org Sat Apr 3 01:32:58 2021 Return-Path: Delivered-To: freebsd-git@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4E87C5BA601 for ; Sat, 3 Apr 2021 01:32:58 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FBzvF39Fxz4hVL for ; Sat, 3 Apr 2021 01:32:57 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x831.google.com with SMTP id y2so4761595qtw.13 for ; Fri, 02 Apr 2021 18:32:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YrUjYasYt6NBKYaua37XRiKFuaCQ/rlNXoS3/4ZrA9k=; b=LZehBFIbyjPAr4ERwZHNNaVdKpd9FGk0cO/CioWMGx8wRcGhXpYj7kjgZE31UCOzmd 7942NMU1/XcM5J1MyfdgH1B/DTxBY19lY00/ZCnIJOF72n3pDH/HvhnFi3qbUQp9oa7W PmSRSCz7QkSuFZf7l/dcFSGuLEATsiplrgg2Cvg1B1LTAXP36chUxX2d+DKNRX6hl3Vf A3WPflpI7EVp/aBFVSnkT8BMqNNH2gRljMx2wxq5ea0eS/TIdGHVgU5QWLMJcM4i1nWg NdhCAYP7zR7kK1v0Zs3OfbM3+CbGmfKaIZE1PAk0PDCp/aToD9Dj8KyJezb5lU2Skb3/ +/Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YrUjYasYt6NBKYaua37XRiKFuaCQ/rlNXoS3/4ZrA9k=; b=aSgsvtjXBwaJ/T40buuPpJ7ApJIcOpOlEOHTmLO85Ct5rp2DT3g6mgiuLe+oV+nHN1 pKEj28rVO/ncO5TZ1+x94z5/wd2uxbyjQk9sbZZlQLQrbO2bjGyWIBUEeK0Gncq7dT64 wQS4Q8b/R0gO0v5uHupsML6h+krhzk9lWYRGU3arhINIbX4x3hvWJkQm1vpQAls8e729 nhbt26EJfqv7DJo4DgeJ96h1RAdRSOXxq50hJUZds/BI6cGSvFgkvTJd0Cm5zSTVWD2m m9qWhpghUuVchw/AlW2Thtck/X+OeNqh2D4lm8x2EVQaNNVTr0ryyiEyEFq6i47TJqcu GLSw== X-Gm-Message-State: AOAM530JqYymZgKDrANniaUUYx7fQ+KdH/Q0hbFPAwwaeCLt40NkUpOd 2322ofa5AM7YtjMUOcQ9GKJuZ+RHaXDgMs+8P8iubFMEw+RrNQ== X-Google-Smtp-Source: ABdhPJxorZkic+EJgbcTSI5BaUZsU4Wz12q6VcpfIBx++O7ixduFFv3k7jfT3cE8BiNsaIt8Cy0T+zI/Q/gUVJsohes= X-Received: by 2002:ac8:7e95:: with SMTP id w21mr13854462qtj.244.1617413576478; Fri, 02 Apr 2021 18:32:56 -0700 (PDT) MIME-Version: 1.0 References: <21c7313e-315c-ec48-9437-e0a3d4ec14d2@FreeBSD.org> <41924e9d-9d61-6646-6c8f-e4458f94296e@FreeBSD.org> <30f529c1-6087-e704-8cc7-0c48a40b7430@FreeBSD.org> <323a07e2-beeb-deb3-3fa5-bd1241a2cb04@FreeBSD.org> In-Reply-To: <323a07e2-beeb-deb3-3fa5-bd1241a2cb04@FreeBSD.org> From: Warner Losh Date: Fri, 2 Apr 2021 19:32:44 -0600 Message-ID: Subject: Re: OpenZFS branch tracking policy To: Martin Matuska Cc: Ed Maste , freebsd-git , Alexander Motin , Mateusz Guzik , Ryan Moeller X-Rspamd-Queue-Id: 4FBzvF39Fxz4hVL X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=LZehBFIb; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::831) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; MAILMAN_DEST(0.00)[freebsd-git]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-git@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[6]; SPAMHAUS_ZRD(0.00)[2607:f8b0:4864:20::831:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; NEURAL_HAM_SHORT(-1.00)[-0.999]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::831:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RBL_DBL_DONT_QUERY_IPS(0.00)[2607:f8b0:4864:20::831:from]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussion of git use in the FreeBSD project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Apr 2021 01:32:58 -0000 Oh good point. I'll try to take a look this weekend... well, maybe Monday since it is Easter weekend. Warner On Fri, Apr 2, 2021, 6:51 PM Martin Matuska wrote: > I have missed one more thing: > Tracking different OpenZFS branches in main and stable/13 means that we > will be vendor-merging into stable/13 as well (opposed to cherry-picking). > > On 3. 4. 2021 2:44, Martin Matuska wrote: > > 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 >>> > wrote: > >>> > >>> On Fri, 2 Apr 2021 at 11:50, Warner Losh >>> > 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" > > _______________________________________________ > > 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" >