From owner-freebsd-stable@freebsd.org Wed Feb 17 17:58:29 2021 Return-Path: Delivered-To: freebsd-stable@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 947CC54CA65 for ; Wed, 17 Feb 2021 17:58:29 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-il1-x131.google.com (mail-il1-x131.google.com [IPv6:2607:f8b0:4864:20::131]) (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 4Dglv86Tcqz4S41 for ; Wed, 17 Feb 2021 17:58:28 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-il1-x131.google.com with SMTP id p15so12073536ilq.8 for ; Wed, 17 Feb 2021 09:58:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=sender:from:mime-version:subject:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=nWLT2IRvZtsnicrtXxbznHx+Twk2aaUfOvOPVK/6nmY=; b=yDlNG8iDVsYhqWVk44k3t3gYB7gUfLdBmUmRoAMHb4c1SKf94TyQW6mAT/Byq7U+iS pBeaJVSEsaqZ34xZmorKDyNRgqfEd7nLpWFGjUgMcLHNQK1GH3uODeuVBJA3gLlt1SCD ZSAPIxsqfrfmu5JMWXrEcfySq4w8oFdTg8WCKQFS5IsR6LZUcln5Gr1/bQLUTxjfKfcv p/pO8IZwcv4k6m84hX+RoekfKP9SnrU8qJmx7WPE+5LaBCTPIOqCoSaAwt8mtWj+TCkM LUjq3jbjXdOrKBwqZSqhfkZ6MFtrL23Du+PohWVoIG13Jcb56FutjsoTe75X4OrAPlVD Ibeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:mime-version:subject:in-reply-to :date:cc:content-transfer-encoding:message-id:references:to; bh=nWLT2IRvZtsnicrtXxbznHx+Twk2aaUfOvOPVK/6nmY=; b=W9NTfNUgUGI3d2znzX7rA83gieRR7IZdaOzNAhL3bY8bbYaY701mRPHYsRsia2MI1S B7FOuPLe6MnA9eMEUu/0+N5jYE1miVOUH3/qGnr+PzAFoIOzmgXVYrVu4Gf3J5BFB8gn q3Zf3E1KJPOBfUzZdWAtqJZvU9UdePMi4UphzO0z2Qyexqtg1SvodKt4lv9Ut7gh4s6T 77CQTLwiG+Lr5Av+K7Mt6ItIn9RN4Zao8oC1u9khSu676/f1lCFV7n4fLcN6tTMT7K/N eOZPlZ6CA9K5H2I6NGGK91sgIIFph71DtAUvZI00xxAavyul9eWTfu+kVTffeseSbsX+ sjFw== X-Gm-Message-State: AOAM532QSQTAueDsOQ4RY7hTSht7LS4iQHU1oCI7lGAgbKRLj56XpK/J swpLto16ZP434zY3INg3bQ7jHoQaH8QNZw== X-Google-Smtp-Source: ABdhPJxPeXfHzdnUr2at1qTzI1Hla7l03OoJ+raidLY1kh4PQpWY5uWDPb2ngKMZYqG9HxVeS7/l+A== X-Received: by 2002:a92:85ce:: with SMTP id f197mr248577ilh.146.1613584707841; Wed, 17 Feb 2021 09:58:27 -0800 (PST) Received: from ?IPv6:2603:300b:6:5100:4ca0:336e:90f:82d1? ([2603:300b:6:5100:4ca0:336e:90f:82d1]) by smtp.gmail.com with ESMTPSA id b2sm1746888iot.4.2021.02.17.09.58.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Feb 2021 09:58:27 -0800 (PST) Sender: Warner Losh From: Warner Losh X-Google-Original-From: Warner Losh Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\)) Subject: Re: where to upgrade 12-stable now, svn still, or git? In-Reply-To: Date: Wed, 17 Feb 2021 10:58:26 -0700 Cc: freebsd-stable@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <93924389-E0F0-4132-BD8A-7ABEC4F5BF24@gmail.com> References: To: tech-lists X-Mailer: Apple Mail (2.3608.120.23.2.4) X-Rspamd-Queue-Id: 4Dglv86Tcqz4S41 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=yDlNG8iD; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::131) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-1.50 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; SUBJECT_ENDS_QUESTION(1.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[2607:f8b0:4864:20::131:from]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MIME_TRACE(0.00)[0:+]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-stable@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; SPAMHAUS_ZRD(0.00)[2607:f8b0:4864:20::131:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::131:from]; R_SPF_NA(0.00)[no SPF record]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-stable] X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2021 17:58:29 -0000 > On Feb 12, 2021, at 5:31 PM, tech-lists wrote: > As subject, where to get sources for 12-stable upgrade now? Is it = still > svn or is it git? tl;dr: git is the source of truth, but there=E2=80=99s a bunch of = details that might matter. The current source of truth is git repository on gitrepo.freebsd.org. = It is the canonical repo for the project. A very close copy can be found = at cgit.freebsd.org (it usually lags by the time it takes to copy new = commits over to it, usually some small number of seconds). All other = sources are derived from these. The subversion repo was the source of truth for FreeBSD between the time = it was adopted until git replaced it late last year. Prior to using = subversion, CVS was the source of truth. The CVS repository was retired = when we did the conversion to subversion. For the life of the stable/11 = and stable/12 branches (and any releng branches from those), we will be = mirroring commits to those branches to the subversion repository. When = we were doing the conversion, we often heard that changing VCS = mid-branch would be too burdensome and would really go against the = branch stability guarantees we have. The svn mirroring service should be a faithful reflection of the git = source of truth. Or is modulo bugs and semantic differences in the = different VCS. If there=E2=80=99s a discrepancy, then git is = authoritative. There will be a lag between what=E2=80=99s committed to = git and its appearance in svn mirrors because the mirroring is done via = a cron job and there=E2=80=99s propagation delays. Since subversion has = different semantics, it expands the $FreeBSD$ keywords in the source, = while git does not (and cannot in a meaningful way). This will result in = a difference between trees checked out in one versus the order. = Normally, this difference is inconsequential, though some folks may need = it for various reasons. There=E2=80=99s a small wrinkle with any 12.x releases. Those will be = built out of the subversion mirror of the git source of truth. We=E2=80=99= re doing this to continue the $FreeBSD$ expansion through the life of = the 12.x branch. This will result in a slightly different build for the = non-reproducible builds when one builds out of subversion vs out of git. = Should there be a difference between the svn sources and git sources, = say due to a bug in the mirroring or the $FreeBSD$ expansion being = meaningful, this can lead to some confusion. If this is a material = difference, an updated would be issued right away to correct it. And in = this case, the source of truth is still the git repo, it=E2=80=99s just = been transformed in various ways before landing in the source artifacts = that are used to create a release. In many ways the little difference have long been accepted. The tree you = get from the old CVS repo differed from the tree you=E2=80=99d get from = the same version post conversion to svn from the svn repo because of = semantic differences in how $FreeBSD$ was expanded. You could never = checkout a 2.1 release from subversion and get exactly the sources that = phk used to build the 2.1.0 release because CVS expanded the keywords as = $FreeSBD: foo.c 1.7$ and svn expanded them $FreeBSD: path/to/file/foo.c = 3255$. This is muddied a bit further with the git conversion since the = sources on the ISO images were used to recreate the 1.x series of = releases. There may also be some early tags that haven=E2=80=99t made it = through all the conversion processes... Even the git repo copies that are mirrored out differ slightly in that = they publish a slightly abridged version. GitHub=E2=80=99s interface = does not like having ~10k entries in it for the =E2=80=98branch=E2=80=99 = menu. So we don=E2=80=99t publish vendor branches to GitHub because of = how the subversion repo vendor branches and tags were converted lead to = too many branches for GitHub to be happy. This information is available = from gitrepo.freebsd.org, however. Warner