[oe] Reconsidering the work flow and how the SCM system fits in

Paul Sokolovsky pmiscml at gmail.com
Wed Mar 12 21:34:17 UTC 2008


Hello,

On Wed, 12 Mar 2008 21:26:30 +0100
"Leon Woestenberg" <leon.woestenberg at gmail.com> wrote:

> Hello Koen, all,
> 
> On Wed, Mar 12, 2008 at 8:00 PM, Koen Kooi
> <koen at dominion.kabel.utwente.nl> wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> >  |
> > http://lists.freedesktop.org/archives/cairo/2006-February/006255.html
> > | | His arguments on the (main two) differences strongly favors me
> > to move | to GIT, not HG.
> >
> >  Actually it shows that hg fits better into the OE way of using a
> > DSCM: central repo (and mirrors) with distributed developers.
> >
> Quoting Carl: "Namely, it [hg] appears to force a more centralized,
> (or at least, a more strictly hierarchical), model on the development
> process, while git allows a more fully distributed model making it
> easier for users to pull (even speculatively with "fetch") from
> multiple sources, track them in the local repository as separate
> branches and merge when appropriate."
> 
> Carl carefully uses the words "force" and "allows". Git does not
> preclude a central model, whilst still allowing more centralized
> development.

Well, in practice it happens not exactly that way. In practice, git
proponents happen to overestimate universal usefulness of some of git
features, and underestimate problems those feature may bring in some
cases, and yet use those features to push git's superiority.

I find one of the links among those posted by Cliff Blake very good
display of that:
http://www-cs-students.stanford.edu/~blynn/gitmagic/ch04.html . That's
generally good read, I personally love lively and literary style, but
well, gentleman's idea why git is cool appears to be based on following
facts: 1) git was the first system SCM system he used (at all appears
- we apparently have new generation of developers growing, who don't
know what CVS is. LOL, or sigh.); 2) his Internet connection sucks.

> And the centralized way we work currently is also DUE to us using mtn,
> i.e. it forces us more or less to work this way.

No, centralized way is due to way humans form communities. Linux kernel
is also works that way. Only Linus' repo is Linux kernel, anything else
is just somebody's hacks on that.

> Is that the desired way? Yes, for us it might be. For 3rd party
> vendors it might not be. They might want to run their own GIT repo,
> but keep pulling from OE (or vice versa).

That can be done with any DSCM, and could be done with mtn.

> My view at the desired model:
> - central repository with mirrors
> - lightweight branches for the active developers so that intrusive
> changes can be worked on in parallel, but shared fashion.
> - easy push/pull/cherrypick from cloned repositories branches, given
> that we might see more and more vendors stepping into the OE
> bandwagon.
> 
> Some thoughts:
> - Why wouldn't the kernel model work for us? There is one upstream
> tree and distributed developers.

Isn't that how we work already? Don't let me guess, but give myself as
example - I'm working on some things over long period of time, then
long period of time may pass before they are pushed to central repo.
Isn't that what you mean by "distributed"? Or if there're no
"lightweight branch" stamp, it's not distributed.

> - Suppose we were using GIT today, would we consider going to HG or
> MTN?

Who knows?

> - Suppose we were using HG today, would we consider going to GIT or
> MTN?

Who knows?


Getting answers for questions like above are exactly why I participate
in this discussion. I missed previous switchover, but I'm trying to
grasp what exactly happens now and why? What has happened recently
which wasn't the case a year ago? Why we get big amounts of strange
confessions that people don't participate well enough in OE and hate it
because of it - now, if it was so for couple of years? Newcomers
suffered mtn *all* the time, I myself coming in 1.5 years had lots of
gore with it, thought gradually it *improved*, not become worse.

Unfortunately, the only reasonable answer I have for myself is that
coredevs finally ate some of Monotone fun. So, users' complaints were
of no avail, but feeling it on own skin is better. So, they hasted to
move somewhere. But where? I have strong suspicion that where it's more
easier and comfortable to them, users' needs and troubles might be
ignored again.

Well, we have by now we broke preconception that git is the *only*
choice to migrate too, and possible situation that hg was mentioned in
the initial mail for sole purpose of emulating pluralism. So, even if
git will be chosen (which is quite likely), then at least we can be sure
that wasn't done blindly, without understanding what that choice would
mean.

> 
> Proposal: Can we work with MTN and GIT, or MTN and HG in parallel?
> I.e. each developer has to do everything DOUBLE, has two checkouts
> against two SCM systems, and then learn in practise what works best?
> :-)


Hopefully not. But one of the outcome of this discussion may be  that
core devs ask the original proposer to evaluate both choices in more
detail before hasting with the switch. (Note that I personally don't
seek such result or want to complicate proposer's task. But I would
really like to know what to answer people who will hit this or that
tool issues, and I do come at such situations regularly - far more
frequent than I'd like, so knowing that needs and troubles of "mere"
users were ignored during selection, doesn't help me at all with
doing community support.)

> 
> 
> Regards,
> -- 
> Leon


-- 
Best regards,
 Paul                          mailto:pmiscml at gmail.com




More information about the Openembedded-devel mailing list