Date: Wed, 23 Dec 2020 16:55:58 +0100 From: Miroslav Lachman <000.fbsd@quip.cz> To: uqs@freebsd.org Cc: freebsd-current@freebsd.org, freebsd-git@freebsd.org Subject: Re: git tools for building in base? Message-ID: <49d6a212-f266-5a71-4982-9c368887494c@quip.cz> In-Reply-To: <X%2BM96JQwp%2BQCIIWH@acme.spoerlein.net> References: <X714z7pMgNOFaTIc@rpi4.local> <20201125055425.01AA628417@elsa.codelab.cz> <10f7b800-b015-2a80-b741-4f7db03bf6eb@quip.cz> <X%2BM96JQwp%2BQCIIWH@acme.spoerlein.net>
index | next in thread | previous in thread | raw e-mail
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 Lachmanhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49d6a212-f266-5a71-4982-9c368887494c>
