From owner-freebsd-current@freebsd.org Wed Dec 23 15:56:11 2020 Return-Path: Delivered-To: freebsd-current@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 3501A4C35C2; Wed, 23 Dec 2020 15:56:11 +0000 (UTC) (envelope-from SRS0=fNuQ=F3=quip.cz=000.fbsd@elsa.codelab.cz) Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1Hqt0t6Hz3LHL; Wed, 23 Dec 2020 15:56:09 +0000 (UTC) (envelope-from SRS0=fNuQ=F3=quip.cz=000.fbsd@elsa.codelab.cz) Received: from elsa.codelab.cz (localhost [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id 9F15328423; Wed, 23 Dec 2020 16:56:02 +0100 (CET) Received: from illbsd.quip.test (ip-94-113-69-69.net.upcbroadband.cz [94.113.69.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id BA3E228422; Wed, 23 Dec 2020 16:55:59 +0100 (CET) Subject: Re: git tools for building in base? To: uqs@freebsd.org References: <20201125055425.01AA628417@elsa.codelab.cz> <10f7b800-b015-2a80-b741-4f7db03bf6eb@quip.cz> From: Miroslav Lachman <000.fbsd@quip.cz> Cc: freebsd-current@freebsd.org, freebsd-git@freebsd.org Message-ID: <49d6a212-f266-5a71-4982-9c368887494c@quip.cz> Date: Wed, 23 Dec 2020 16:55:58 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4D1Hqt0t6Hz3LHL X-Spamd-Bar: / X-Spamd-Result: default: False [-0.07 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; NEURAL_HAM_SHORT(-0.28)[-0.278]; FORGED_SENDER(0.30)[000.fbsd@quip.cz,SRS0=fNuQ=F3=quip.cz=000.fbsd@elsa.codelab.cz]; RECEIVED_SPAMHAUS_PBL(0.00)[94.113.69.69:received]; SUBJECT_ENDS_QUESTION(1.00)[]; R_DKIM_NA(0.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[94.124.105.4:from]; MIME_TRACE(0.00)[0:+]; FROM_NEQ_ENVFROM(0.00)[000.fbsd@quip.cz,SRS0=fNuQ=F3=quip.cz=000.fbsd@elsa.codelab.cz]; ASN(0.00)[asn:42000, ipnet:94.124.104.0/21, country:CZ]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.997]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[quip.cz]; AUTH_NA(1.00)[]; SPAMHAUS_ZRD(0.00)[94.124.105.4:from:127.0.2.255]; RCVD_TLS_LAST(0.00)[]; R_SPF_NA(0.00)[no SPF record]; MAILMAN_DEST(0.00)[freebsd-current,freebsd-git] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2020 15:56:11 -0000 On 23/12/2020 13:54, Ulrich Spörlein wrote: > On Fri, 2020-12-18 at 14:02:08 +0100, Miroslav Lachman wrote: >> On 25/11/2020 06:54, Thomas Mueller wrote: >> >>> NetBSD users face a similar problem with their upcoming switch from >>> cvs to hg (Mercurial). >> >> Do anybody have a link to some documents stating why FreeBSD chose Git >> and why NetBSD chose Mercurial? I am using both tools at $WORK, I am >> just curious what leads to these decisions. > > No documents, but git was simply more mature back when I started this > effort a decade ago and it is and was more popular (with all the added > side effects that has). I was (and am) only an occasional user of hg and > even git, so familiarity wasn't quite an argument back then, though the > git storage model is much nicer for the required history re-writing. > > In the early days I pushed to googlecode and bitbucket as well, you can > see that here > https://svnweb.freebsd.org/base/user/uqs/git_conv/git_conv?r1=251786&r2=251785&pathrev=251786 > > > Not visible are the trials I ran with git-svn and hg, both of which only > could handle the single head branch, but not all the other branching > craziness that was and is going on in the repo. > > I don't fully recall, but I think that the hg conversion was slow and > the disk space needed was quite a bit more than git. > > So in summary, I guess it can be summed up as: > - there was no svn-all-fast-export for hg back then > - even bitbucket switched from hg to git > - history rewriting is easier in git, see e.g. this file for the stuff > that's required to make the cvs2svn things a bit nicer: > https://github.com/freebsd/git_conv/blob/master/fix_bogus_tags.sh > > Granted, now that the heavy lifting is done, one could probably do a > git2hg transition, as the history is now pretty sane and should be > compatible to the hg model. > > But lack of anyone (to my knowledge?) providing a hg copy of FreeBSD all > these years tells me that there's simply no demand for it. > > There's https://wiki.freebsd.org/LocalMercurial from 2008 but that skips > converting from r1. Of interest is also > https://www.mercurial-scm.org/pipermail/mercurial/2019-May/051240.html > which looks like the size issues with hg haven't been fixed yet. It also > seems that http://hg-beta.freebsd.org/base/branches has the > user-servicable branches only, but not vendor. So it's not usable as a > source-of-truth for the project. > > I would encourage everyone *not* to base their hg work off of SVN but > take the soon-official git repo instead. If you wanted to do this right > off of SVN, here's just one of dozens of quirks: > https://github.com/freebsd/git_conv/blob/master/revisions.md > > You've been warned ;] Thank you so much. This is very valuable post. I didn't expect such detailed information. As I am using hg for my local projects and git for public / $WORK maybe one day I will try to setup hg repo from official git repo - just for "the fun". I am completely fine with svn, or git or anything else was / is / will be the official source even if there is no tool in base. Installing package is so simple in these days. Thank you again! Kind regards Miroslav Lachman