[haiku-development] Re: Mercurial

  • From: John Scipione <jscipione@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 12 Mar 2010 10:34:28 -0500

I would like to see the Haiku project move from subversion to a
distributed version control system such as git or mercurial for purely
selfish reasons. Distributed version control systems allow for a more
laissez faire approach to source control which is better for me (if
not better for the project).

I am unlikely to be granted svn commit access nor do I desire it as I
am far from a mainline developer. Consequently, the code that I write
gets added to my local copy only. When I perform an svn update my
changes sometimes conflict with other people's changes creating a
maintenance chore for me. Git and mercurial include features to make
merging easier and avoid conflicts better than subversion.
Furthermore, I have no way to publish my changes publicly other than
to submit a patch to this list or to the bug tracker. I only submit a
patch when I feel that my code is worthy of inclusion. This means that
my patches grow stale as my improvements are added to my local copy
only, are infrequent, and are inaccessible to the public. Someone
might want my bleeding edge patch but they can't get it. I have
neither the ability nor the desire to setup my own Internet accessible
source repository.

Using git or mercurial would allow me to fork the project into my own
repository and publish my changes there. github allows for an Internet
accessible place where my fork can live. People can inspect my latest
changes and pull them to try them out. I can easily provide a link
where changes can be pulled from into the official repo rather than
submit a patch. Lets face it, patches are a pain in the butt. The
whole process becomes easier for me, the lone Haiku developer. Whether
or not a distributed version control system is better for the project
is debatable. However, if there are others out there like me (perhaps
with better changes) then subversion really is hurting the project by
hiding good code in peoples local branches rather than allowing them
to put those changes on the Internet.

John Scipione

On Fri, Mar 12, 2010 at 8:21 AM, Niels Reedijk <niels.reedijk@xxxxxxxxx> wrote:
> Hi,
>
> On 12 March 2010 10:13, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
>>
>> On 2010-03-11 at 14:32:44 [+0100], Niels Reedijk <niels.reedijk@xxxxxxxxx>
>> wrote:
>>> I think you are under an assumption that there is an eminent switch to
>>> another revision control system and that Mercurial has a preference.
>>> Neither discussion is being held at the moment, so there is no reason
>>> to discuss whether a probable future SCM is compatible with your
>>> favorite one.
>>
>> It would be nice to consider switching to a distributed system in the not so
>> distant future. Subversion works pretty well for people with commit access,
>> but distributed systems make it easier to work with people without commit
>> access. Maybe after alpha 2 release would be a good time for such a
>> discussion.
>
> Sure, but this should be set in a larger discussion, by which I mean
> that it should go beyond taste. What you see right now is that the
> choice of Subversion affects how Haiku's development is structured.
> The discussion should be about whether we can improve the quality and
> quantity of the contributions by changing the workflow, and if so,
> what this workflow should be like. The choice of the tool that fits
> this workflow should be the last step of the discussion.
>
> One of the major weaknesses I identify with chosing subversion right
> now is that it is difficult to test feature branches like Colin's wifi
> branch and aljen's Gallium3d branch with the current trunk. One of my
> current projects is to see whether it is possible to distribute those
> feature branches (probably through git or mercurial) so that it is
> possible to those interested to pull these features into their trunk
> checkouts.
>
> Perhaps we can have this discussion at BeGeistert.
>
>>> [The reason a hg.haiku-os.org was set up is mostly historic; it was
>>> used by Waldemar Kornewald to keep track of his changes to Trac. When
>>> we (haiku sysadmins) moved to the new server, we migrated the hg
>>> repositories as well and Ingo set up the hg source mirror as an extra
>>> service. There was never an endorsement]
>>
>> I believe Oliver is to credit for setting up the hg mirror.
>
> You are right, I got things mixed up. Sorry Oliver! I do love your work!
>
> N>
>
>

Other related posts: