octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: distributed version control


From: John W. Eaton
Subject: Re: distributed version control
Date: Mon, 28 Jan 2008 18:22:20 -0500

On 28-Jan-2008, Shai Ayal wrote:

| So if I understand right, our current method of working via email
| patches will probably stay almost the same, except that the merges can
| now be distributed and won't take too much of jwe's time?

With a switch to a distributed system, everyone who wants to work on
Octave can have their own archive(s).  That can help a lot if you
don't have constant net access and still want to work.  My
understanding is that branching should be easy, so you can branch all
you like and commit in your own archive without causing any trouble or
cluttering the main archive with half-baked branches.  It means you
can also work on a patch and periodically check in changes to your own
archive (as a safety net) without needing to have access to a central
archive.  I would certainly make use of this myself as a way to do
experimental things (like the graphics or object branch), though I
might choose to not share the changes until I feel they are worth
looking at.  In the past these kinds of branches became public
immediately, which I don't hink it always desirable.

I assume people would consider my archive to be the "official" one,
and I would publish it in a public place for others to clone or pull
from.  The public copy would most likely be read-only for everyone
except me.  This would be analogous to the current read-only CVS
archive.

There are several methods by which we could share changes.

Anyone wishing to get get changes from me can pull from my public
archive.

To submit changes to me, there are several options:

  * Publish your own archive on the web somewhere and allow me to pull
    from it.  I would probably only do this from a few people, but it
    could simplify things for me as (for example) Michael might
    accumulate changes to the graphics subsystem and publish them.
    Then I could pull the changes from him.  Doing that rather than
    having to handle email diffs would be much faster for me.

  * Send a [git|hg] changeset in email.  I think this would be better
    than the patches we currently use because these changesets include
    extra data explaining how the VCS should import them.

  * Send plain old context diff in email as we have always done,
    though this would become the least desirable method as I think it
    would require more work to merge.

As for how someone behind a firewall could push to their public
server, I think you would need a place to host your archive (a web
server) and then you could push using https or http (with a password,
at least with hg).

To ease the transition, I think we can continue to have a read-only
CVS archive available in a public place by exporting the [hg|git]
archive to CVS.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]