From owner-freebsd-git@freebsd.org Wed Sep 25 14:53:09 2019 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 2E4F31298BD for ; Wed, 25 Sep 2019 14:53:09 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) 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 46dgz80g3lz413L for ; Wed, 25 Sep 2019 14:53:07 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qk1-x743.google.com with SMTP id y144so5487593qkb.7 for ; Wed, 25 Sep 2019 07:53:07 -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=dj+T0AOydrV6JDHgQyNbcM8U49yc2hObkX1ABszTbW0=; b=YfGwxUNkv7uxAOZRxnYAGG7UURs72J2AA7d9KRxqS9zAUO9hoe4txuxcl3AtqA2rwg yI8MKhq59U94dXN/BHaP7SgfT+z3ggwhx0nQuZImLInH3VhT1R3HruimWXyPGB32/9aA 34qoG6suV7GIDWVHsGO5Dszz63qlf1Z71+fYvEmwLkSrEQiR8EJcb+TqeJ7tPaKWJOwq 1ByMf8DB1xdNV+hhUE3g+IqTa30GLRxGQo8uKcAhfrs3RmxLS9HRO2mOHj6gMK9HaYQH tDI5BDWe04PQW7CB9SBqesNQJBMomqkVH+4pVOgHMAaLbdqjgvUNzuGIsdu7u/3gNrlB NcrA== 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=dj+T0AOydrV6JDHgQyNbcM8U49yc2hObkX1ABszTbW0=; b=Tg5jsS8NPT5EJnTB4+jpncS+oZaldV9xyF39EqhwLFbzsgK7jcs//3acV1d2bzeNya PqSlaWoxlZ6LI8Ct1JqMKFWHZR7yx+c8YCRaeNGWsia+0iZzupKZfHIdJUmBWjsglZZf nKojUORJMakCWhcTjlQdAO3VySHssnaXRjuWbuBP63/OGbjU97X5LMxXavcKmM7G1jI3 aiiWVITdxxyRfvxgzF09ZJEAMZe30fbDCmOG9lP/uz42uRA1mFTs+KL+we9NZNLYpxnB RmETV4ECX7w6aU+LUjpaSjgt2iMWWz3ld82RENBjA4MLY+nzupFTY7DbEgydXHM1Vnky b42Q== X-Gm-Message-State: APjAAAUPQiKozFLkj8pF4V6BeeNkjOIh6DHRHf+cL5u7JdBUOHaEZ7vz CN0dvy/rZJLMboUsaPJYHbV1Obf8Vrvu6Y625/Oxhg== X-Google-Smtp-Source: APXvYqx2IfNs0Sir56GII6XL6JQHJKV5afi0AF6JLq8w/BjidAE4eVMtklPoB9aLf5u0bwMHpcE3nUCGrJtAt7WFTuA= X-Received: by 2002:a05:620a:12b6:: with SMTP id x22mr340503qki.495.1569423186552; Wed, 25 Sep 2019 07:53:06 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Warner Losh Date: Wed, 25 Sep 2019 08:52:54 -0600 Message-ID: Subject: Re: Service disruption: git converter currently down To: Ed Maste Cc: Sean Chittenden , freebsd-git@freebsd.org, =?UTF-8?Q?Ulrich_Sp=C3=B6rlein?= X-Rspamd-Queue-Id: 46dgz80g3lz413L X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=YfGwxUNk; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::743) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-2.43 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-git@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[3.4.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-0.43)[ip: (2.69), ipnet: 2607:f8b0::/32(-2.61), asn: 15169(-2.18), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.29 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: Wed, 25 Sep 2019 14:53:09 -0000 On Tue, Sep 24, 2019 at 7:48 AM Ed Maste wrote: > On Mon, 23 Sep 2019 at 13:51, Sean Chittenden wrote: > > > > > > > > Please note however, that more "garbage" metadata escaped from SVN into > > > github, meaning 3rd parties have a hard time re-running the conversion > and > > > making sure that it matches SVN down to the metadata (i.e. timestamps). > > > > > Discussion of a force-push to github has occurred a few times and been > > explicitly ruled out because most of our corporate citizens use github to > > integrate changes from FreeBSD. > > Unfortunately it's not just a few instances of bogus metadata (commit > timestamps and authors), there are also a cases where the git > conversion misrepresents the operation performed and makes for > confusing history. > I'm not sure it's completely wrong... I will absolutely agree, however it's confusing. One example of this is r306097 / df422cbea30e. A file that had been > removed in head needed to be restored, and in SVN it was done by > copying from the stable/10 branch. The git converter interpreted that > as a merge, and then grafted the post-branch stable/10 history into > head as a result. That is why we have a bit over 9000 stable/10 > commits showing up in 'git log origin/master'. > git log --first-parent fixes that, however. Git log's notion of what's sensible to display by default is a poor match to what most people think is sensible. It is a common thing to have to do with other upstreams I track. qemu has this same issue because it merges to the mainline. It's the main reason that I think merge commits to master are evil in a project like ours. It was the best trick I learned when rebasing our sbruno's qemu-bsd-user branch to a 3.1 base. But this really was a merge from stable/10 into master, so we run afoul of a confusing git log default. We did copy the file from stable/10, though in a more ideal world this would be represented as a cherry-pick. git doesn't preserve meta-data for that operation, though (except it can add a note to the commit message that's free form). So representing it as a merge is likely the least worst thing it can do to preserve the metadata (although some would argue that the 'guess about copies' code obviates the need for keeping this data around). I'd offer the opinion that needing to know about things like git log --first-parent vs having to rebase every single downstream fork, the former is several orders of magnitude less pain. We can ensure that there are no back doors by doing a diff at a known good version, seeing know differences with the svn repo and signing the next commit (since it implicitly signs all previous ones), but that is tricky in a dual world and may need to be reserved for the svn read-only flag day that we all know is coming. Warner