On Tue, Oct 27, 2009 at 11:34 AM, Jared Rypka-Hauer <[email protected]
> wrote:

>
> MG already has an SVN repository and that SVN repository has an
> actionpacks section, so I really dislike the idea of creating yet
> another (non-) authoritative container for MG-related stuffages.
>

SVN mostly works for the centralized management of the core code for MG, but
I feel that actionpack development should follow a more decentralized model,
and SVN is a poor fit here. I feel that what we really need at this point is
to encourage participation and the sharing of ideas on actionpack coding,
and Git makes this very easy (once you learn how to get started with Git,
that is).

For example, if there were a actionpack GitHub repository, Bob could clone
it to write his fileupload actionpack. When his actionpack is ready he could
offer it to the master; let's say it was accepted. If I then clone the
master and get some ideas to improve Bob's actionpack, I could offer a patch
to Bob instead of to the master. If Bob likes my patch, he could merge all
or part of it into his clone. Bob and I could continue to exchange patches
between our clones this way until Bob becomes satisfied with the
improvements, at which point he would offer a new update of his actionpack
to the master. Such collaborative development is extremely difficult to pull
off in SVN.

(The above is based on my current understanding of Git: if you know Git to
work differently, please correct me).

Contrast this with the MG core. I've been working on some changes to the MG
core codebase. I have a bit more work to do on it so I'm not ready to offer
any patches. I'm not a member of the official MG team so I don't have SVN
commit rights and therefore cannot use the official repository to track my
changes (not that I really want to). This leaves me with 3 choices:

1. Leave my changes untracked and perform regular svn updates to keep my
copy current with the official trunk (easy).
2. Create my own personal SVN repository and perform an svn import/merge
every time I want to pull in official trunk updates (painful).
3. Create a personal Git repository that overlaps my working copy of the
official SVN repository (confusing?).

In any case, the only other repository I can really follow with SVN is
upstream. This is OK for the MG core code because the upstream code has
higher status than my code (or any other outside fork for that matter). It
is my job to keep up with upstream if I want my patches to ever be accepted,
but it is *not* upstream's job to keep up with any of *my* patches. If I
want to share my patches with another person, my patches would always have
to be against an official branch. This makes it difficult for developers
that are not part of the official MG team to collaborate on core code
changes that vary significantly from the official base; however this is
usually in the best interest of the core project.

I find it quite acceptable to have both an actionpacks section in the
official SVN repository as well as a less-official actionpacks GitHub
repository. We would certainly want to make it clear that the GitHub
actionpacks are all works-in-progress and people who want official stable
actionpacks should look in the official MG project site instead. The
official MG team would of course promote whichever actionpacks they like in
GitHub to their SVN repository (as long as the code licensing is
compatible).

My idea is to create a single RIAForge project for community-developed MG
actionpacks, and have the RIAForge project include a link to a GitHub
repository that hosts the source. The project would therefore not be any
harder to find than any other RIAForge project. RIAForge projects can use
any source control they like (including no source control at all); the use
of svn.riaforge.org is not mandatory. Zips of the GitHub repository contents
should be regularly posted to the RIAForge project for those who'd rather
not mess with Git.

Just a thought...

Cheers,

-- Dennis

--~--~---------~--~----~------------~-------~--~----~
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to