* [OT] mutually supervised developers
@ 2005-06-11 21:19 Junio C Hamano
2005-06-11 23:14 ` Linus Torvalds
0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2005-06-11 21:19 UTC (permalink / raw)
To: git; +Cc: Linus Torvalds, Petr Baudis
I think this is somewhat offtopic here, but I was wondering:
- if a development model like this would make sense,
- and if so if we would want GIT to support such a model,
- and if so if the current GIT already offers such support,
- and if not what kind of primitives at the core layer we would
need to add.
Let's assume that a project is co-managed by a handful top-tier
developers and has an active development community. There is
_the_ public repository that all users consider the canonical
starting point to base their work off of. It would be like -git
snapshot tree or -mm tree in Linux 2.6 kernel.
These developers are all active in the community, and at times
are overenthusiastic. Their own changes are usually quite good,
they also have good taste when accepting outside patches, but
they all tend to commit not-so-well-thought-out crapola of their
own from time to time to their own repository.
I am wondering if the world would be a better place if this
fictitious project sets up public repositories in the following
way:
(1) each developer's own repository is public;
(2) these developers pull from each other "only good stuff",
rejecting things he or she feels questionable. Let's
forget that current GIT does not give a direct support for
cherrypicking for now.
(3) the public canonical repository is updated to contain the
intersection (_not_ union) of these developer repositories.
Let's also forget that current GIT does not have automated
way to do such a thing.
This would give each developer an "adult supervision" by all the
other developers, because any stuff that somebody finds
questionable will not be included in the "intersection". The
public canonical repository is essentially to contain the
community "concensus".
Applying the above outline literally is inpractical in that it
gives any slow (or just otherwise busy) developer an unintended
"veto" power to freeze the canonical tree, so the management of
the canonical repository part may need to be tweaked with
something like majority rule, but the basic idea is to help
people get mutual supervision to prevent them from spreading
crap they may later regret.
Would people find something like this arrangement workable and
worthwhile?
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [OT] mutually supervised developers
2005-06-11 21:19 [OT] mutually supervised developers Junio C Hamano
@ 2005-06-11 23:14 ` Linus Torvalds
2005-06-12 11:47 ` David Roundy
0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2005-06-11 23:14 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Petr Baudis
On Sat, 11 Jun 2005, Junio C Hamano wrote:
>
> I am wondering if the world would be a better place if this
> fictitious project sets up public repositories in the following
> way:
>
> (1) each developer's own repository is public;
>
> (2) these developers pull from each other "only good stuff",
> rejecting things he or she feels questionable. Let's
> forget that current GIT does not give a direct support for
> cherrypicking for now.
>
> (3) the public canonical repository is updated to contain the
> intersection (_not_ union) of these developer repositories.
> Let's also forget that current GIT does not have automated
> way to do such a thing.
I've thought about it, but one problem ends up being the history.
Even if both developers have the same patches, they may not have gotten
them in the same order, which means that it's basically impossible to
retain history when doign an intersection. Unions are different - we can
just add the new history when we create a union.
> Would people find something like this arrangement workable and
> worthwhile?
If you can explain how it would actually work..
Linus
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OT] mutually supervised developers
2005-06-11 23:14 ` Linus Torvalds
@ 2005-06-12 11:47 ` David Roundy
0 siblings, 0 replies; 3+ messages in thread
From: David Roundy @ 2005-06-12 11:47 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Junio C Hamano, git, Petr Baudis, darcs-devel
On Sat, Jun 11, 2005 at 04:14:38PM -0700, Linus Torvalds wrote:
> On Sat, 11 Jun 2005, Junio C Hamano wrote:
> >
> > I am wondering if the world would be a better place if this
> > fictitious project sets up public repositories in the following
> > way:
> >
> > (1) each developer's own repository is public;
> >
> > (2) these developers pull from each other "only good stuff",
> > rejecting things he or she feels questionable. Let's
> > forget that current GIT does not give a direct support for
> > cherrypicking for now.
> >
> > (3) the public canonical repository is updated to contain the
> > intersection (_not_ union) of these developer repositories.
> > Let's also forget that current GIT does not have automated
> > way to do such a thing.
>
> I've thought about it, but one problem ends up being the history.
>
> Even if both developers have the same patches, they may not have gotten
> them in the same order, which means that it's basically impossible to
> retain history when doign an intersection. Unions are different - we can
> just add the new history when we create a union.
Right, cherry picking and history don't go well together--which is why
darcs doesn't normally store a real history (although it can do so--you
just can't keep certain portions of the history unless you accept the
patches involved).
There are also issues in defining the intersection of all patches. Ideally
if you take the union of that intersection with one of the original
repositories, you'd get that same repository back, but most naive
implementations of union/intersection won't have that property, which would
lead to confusion and inconvenience.
This sort of workflow would actually be pretty easy to implement in darcs,
if someone were interested.
On Sat, 11 Jun 2005, Junio C Hamano wrote:
> Would people find something like this arrangement workable and
> worthwhile?
I think the biggest issue would be the one mentioned about the problems
with a single lazy developer. But I think rather than some sort of
majority rule (or "if three developers think it's okay, then it's okay"),
keeping the number of relevant developers down would make sense. This also
makes sense in that unless you've got seriously dedicated developers, you
don't want to force everyone to read every patch. I think if you went with
a system like this and wanted many maintainers involved, it would probably
best to organize things hierarchically.
--
David Roundy
http://www.darcs.net
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-06-12 11:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-11 21:19 [OT] mutually supervised developers Junio C Hamano
2005-06-11 23:14 ` Linus Torvalds
2005-06-12 11:47 ` David Roundy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).