Move part of macports infrastructure to GitHub

Mojca Miklavec mojca at macports.org
Thu Mar 20 00:46:50 PDT 2014


Hi,

Despite the fact that I kept pushing a couple of other projects to
switch to a different version control system (mostly from CVS to git),
MacPorts is one of those projects where the current system (trac with
nice linking between tickets and commits, subversion, buildbots, email
accounts, ...) works pretty well and also looks nice. I do miss some
functionality (like a website with a nice overview of packages with
their build success, latest few commits etc.), but that isn't
something that a migration can solve.

Subversion actually has a bunch of benefits over git in this
particular environment. Git is strong in merging, cherry-picking,
having a large number of branches etc., but I don't see much need for
that for maintaining Portfiles. The biggest problem with Portfiles is
that a number of people without commit rights might need to wait for a
long time before someone picks up their patch and commits it, but
switching to a different system would still mean that someone would
need to look at commit and test it before accepting it. The only thing
that could be different is probably a clearly visible pull request. In
MacPorts' trac it's not too easy to spot the difference between
"please commit this, it's fully functional" vs. "I've been just
playing around and tossing ideas – feel free to look and this patch
and improve it" vs. plain requests to fix things. And if a random
developer just happens to have time and is willing to test and commit
something, it's not clear in which of the thousands of open tickets to
start looking. (Trac searches and browsing through tickets based on
specific criteria could be improved, but I'm not sure how.)

Migrating to a completely new system for version control and tickets
would probably be either very difficult or lossy (or both). And the
workflow would need to be redefined completely.

I'm not saying that I oppose the idea if someone is actually willing
to spend time to do it right, just saying that current system works
nice and that git or hg probably wouldn't add that much. (For me, Tcl
is the one that's often limiting my contributions a lot more than
anything else because I don't have much experience writing code in
it.)

That said, a git/hg mirror on GitHub/ButBucket would definitely be
nice. MacPorts could potentially offer a "selfupdate" from an
arbitrary git/hg repository clone if necessary (but one can already
have a clone on the filesystem and use that one).

Btw, we now have:
- Fink: CVS + Perl
- MacPorts: SVN + Tcl
- HomeBrew: GIT + Ruby

We desperately need the fourth package manager using HG + Python ;)

Mojca


More information about the macports-dev mailing list