Version Control in the MacPorts tree (Was: Re: Should we cc: openmaintainer at macports.org in tickets?)

Clemens Lang cal at macports.org
Wed Sep 5 12:50:17 PDT 2012


On Wed, Sep 05, 2012 at 09:35:58PM +0200, Benoit T wrote:
> I don't see why I should spend more time chopping off the output of
> svn diff (that's not really a unified diff) and manually entering
> individual patches into Trac, than the time it took me to come up with
> the changes, when some other tools would have allowed me to just
> submit a single changeset that's also trivial to review and apply by
> the human being on the other side.
> 
> Actually, even though I edited out the "Index:" lines of svn diff,
> Trac is smart enough to associate my diffs with the svn repo, so as to
> recreate those lines in the attachment viewer! So maybe I wasted my
> time turning those almost-unified-diffs into conforming unified diffs?
> Hopefully not, as patch -p0 would probably still have choked.

I think the format generated by svn diff is fine, so yes, you probably
wasted time unnecessarily here.

> And that's not even mentioning the fact that non-committers
> essentially get no version control benefits locally, and no incentive
> to split unrelated changes into separate changesets, save maybe for
> those brave enough to use yet another tool like quilt.

You can have use a local repository as described in
http://guide.macports.org/#development.local-repositories and use
whatever version control you want there. That doesn't get you the
history of the MacPorts tree, though.

If you want to use git instead, I think I saw a ticket (and maybe even
commit?) that supports managing the ports tree with git and runs the
appropriate update commands when running port sync. To get you started
with git, there are Git mirrors[1] of MacPorts trunk (which has the
ports tree).

> So, in short, when is MacPorts switching to Mercurial or Git? :-)

There was a discussion on this a while ago and a strong point against
git was that older versions of OS X didn't ship git with Xcode (so you'd
have to install it from MacPorts).

[1] http://www.macosforge.org/post/git-mirrors/

-- 
Clemens Lang



More information about the macports-dev mailing list