Skip site navigation (1)Skip section navigation (2)
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 Lachman


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49d6a212-f266-5a71-4982-9c368887494c>