Information on a Git or Mercury versioned Ports System

Hello all,


Having done some searching on this issue for some time now, and haven discovered no definitive answer, I figured that this would be the best place to ask this question.

I, like most of you use prefer to use the ports system when installing a particular application. Lately, I have been doing a bit of development work in ports using the Porter's Handbook, and using subversion to supply and update my ports codebase. However, thinking about it, and not meaning or wanting to start a flame war, but: is there a particular reason why subversion and not git or mercury (hg) is used as a source manager for the system?

As I understand it, CVS was the previous version manager system which was superseded by subversion. But, given the merits of both git and hg over svn - most particularly, improved branching and merging - I also had to ask if anyone knew if or when (if possible) FreeBSD was planning to transition to either of these systems in the future and if so, when may that occur - if at all?

Could anyone shed any light on this, please? I would appreciate any insight that anyone could offer.

Thanks!
 
SirDice said:
There's a nice explanation here: https://wiki.freebsd.org/VCSWhy

Thank you, very much @SirDice! That was extremely helpful - quite insightful!

If I gather the contents of the document correctly, it seems that the main reasons are (aside from the technical aspects of git and hg cited in the article):

  • That to apply git or hg to the source tree would require massive amounts of decoupling and rearranging (very time consuming and resource intensive). This contradicts the emergent design philosophy of FreeBSD of having one core pool of code that works instead of a split, modular model.
  • Since git tracks the entire tree (not a portion of it like svn), that means you download the entire tree and not a part.
  • svn is Apache/BSD licensed (huge pro).

Or, succinctly: git was designed with Linux in mind, while in FreeBSD's case, its design and philosophy is more suited to one utilizing and centered around the merits of svn.

Thanks again!
 
Last edited by a moderator:
Back
Top