From owner-freebsd-git@freebsd.org Sun Nov 8 15:01:04 2015 Return-Path: Delivered-To: freebsd-git@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0318AA29E9A; Sun, 8 Nov 2015 15:01:04 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cloud.theravensnest.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C3DCD1B01; Sun, 8 Nov 2015 15:01:02 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from [10.0.1.142] (h10.186.129.40.static.ip.windstream.net [40.129.186.10] (may be forged)) (authenticated bits=0) by theravensnest.org (8.15.2/8.15.2) with ESMTPSA id tA8F0oWY039902 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 8 Nov 2015 15:00:55 GMT (envelope-from theraven@FreeBSD.org) X-Authentication-Warning: theravensnest.org: Host h10.186.129.40.static.ip.windstream.net [40.129.186.10] (may be forged) claimed to be [10.0.1.142] Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: FYI: SVN to GIT converter currently broken, github is falling behind From: David Chisnall In-Reply-To: Date: Sun, 8 Nov 2015 07:00:49 -0800 Cc: Alfred Perlstein , freebsd-git@freebsd.org, freebsd-current@freebsd.org, git-admin@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <563EAAB8.5020702@freebsd.org> To: =?utf-8?Q?Ulrich_Sp=C3=B6rlein?= X-Mailer: Apple Mail (2.2104) X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.20 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: Sun, 08 Nov 2015 15:01:04 -0000 On 8 Nov 2015, at 02:32, Ulrich Sp=C3=B6rlein wrote: >=20 >=20 > Git commit hashes *might* change in the future. I really don't > see how this is a big deal anyway. It happened once and I'm trying to > have it never happen again. But why are people afraid of this > happening? Every "official" git commit is tagged with a SVN revision > and the contents of those revisions are obviously correct (just not > the ancestry and the commit objects, possibly). So it would be easy to > write a script that replays VendorA's git history and swaps out the > new official commits for the old official commits. There would be no > merge conflicts. Git commit hashes must not change, or we completely destroy the utility = of the git mirror for all downstream users. You can no longer do a = merge from upstream git if the hashes in your local clone do not match = the hashes downstream. Your answer of expecting every downstream user = of FreeBSD=E2=80=99s git repo (GitHub tracks over 600 of them, there are = likely more that are using private clones) to write a script to fix the = mess for themselves is completely unacceptable. If there has been a window in which incorrect hashes were generated, = this can be fixed by moving that to a branch, doing the correct thing in = master, and then using git-imerge in rebase-with-history mode. After = the point of the fix, there will be a single set of commits, but before = that there will be two options as parents, one for each version of the = export. Please remember that a guarantee of not changing the hashes of the = history was one of the conditions that Core had for promoting this to an = official FreeBSD service. David