On Monday 26 October 2009, Øyvind Harboe wrote:
> On Mon, Oct 26, 2009 at 8:53 PM, Nicolas Pitre <n...@fluxnic.net> wrote:
> > On Mon, 26 Oct 2009, David Brownell wrote:
> >
> >> Note by the way that public repositories are mostly for
> >> publishing work you expect others to use.  I'm not sure I'd
> >> expect folk to review patches from repositories as any kind
> >> of regular thing ... it may be marginally easier to do that
> >> way than sending them on the mailing lists.
> >
> > If that's indicative of anything, on the very Git mailing list (of all
> > places) about 98% of all changes are posted as patches and merged as
> > such.  No one ever ask people to review patches by fetching a repo.
> 
> So here you're really saying that development branches aren't
> really used, except as a way for maintainers to track patch series?

That's not what he wrote.  :)

Branches are used to coordinate between maintainers,
and to let bleeding-edge developers work with code
before it's deemed ready to merge.  As I said, they
are for publishing work you expect folk to use.

I might also have added "... and which is too complex
to just grab as a couple patches off the list".  That's
the main engineer-to-engineer channel for code; it's
easy to review and comment on inlined text.  And to
cherry pick the (clean) patches that fix bugs you're
hitting.


> There will be a dozen patches to the mrcmcr stuff before
> it's "all over" and ready to be committed.

IMO that's fair to have as a branch.  Two or three
patches ... not worth it.

 
> What could I realistically expect in terms of testing for the below?
> 
> - a patch series a dozen patches long

Note that how that series is delivered matters.  The three
options below presume it's via GIT.  Via mailing list can be
a bit awkward for that size series.  You could put them in
your web page on sf.net, individually or as a tarball, too.


> - a branch on sf
> - branch on that other web site in some repository
> - a branch on that other web site in the "testing" branch of
>   the official testing repository

In all of those cases, primarily testing *YOU* perform;
which of course should be quite exhaustive.  ;)

If there's a bug someone's hitting that may be fixed
by that series, often you can expect that person to
test patches you develop.  The more complex it is to
test, the less likely ... as I'm sure you know.


> - committed to master branch

A reasonable amount from the developer community.

Once the code is released, via often-delayed bug
reports from a frustrated user community.


> - some scheme whereby all development branches on all
> repositories are automatically merged into the "daily pile" that
> users can test...

That won't work unless the branches have no conflicts.
That model is somewhat along the lines of the "-next"
branches that many projects maintain in parallel with
mainline after the merge windows close ... that branch
exists to resolve those conflicts early.

Maintaining a "-next" branch is a significant job; not
amenable to automation.  Think of it as what a release
manager does ... except the inputs are *really* raw.

And it's kind of a thankless job, since the "-next"
branches tend to be for integration work instead of
for testing.  For smaller projects (like us!), I'd
think it's worth avoiding; we don't have actively
developed subsystem branches which sometimes end up
in conflict with each other.


> ?
> 
> I don't worry about development & branching, git has that
> sorted.
> 
> My greatest fear is that we come up with some sort
> of fancy scheme that gives *zero* testing before stuff is
> finally committed to the mater branch, which is back
> to square one really...

If anything gets *zero* testing, neither the developer
nor the committer have done their jobs well ... at the
very least it should have been build-tested.  And the
the developer should have done much more than that.

(If they don't have the hardware in hand, and someone
who reported the bug can't test it, that's obviously
not a good candidate for merge during the RC series.
Hold that patch back till the next merge window.)


> If there was a simple and obvious answer to this problem of
> testing and branched development, then we wouldn't be having
> this discussion.

True, but it's important to focus on the process not
the tools used to make the process work better.

We may want to consider that once the merge window
closes, only some release manager will commit things
to mainline.  This "commit everything ASAP" mindset
is not condusive to robust and orderly releases.

 
> I feel that OpenOCD is special in that for it's size(code and
> community) it has an insane number of different targets and
> a huge distance between developers and test hardware.

The "special" comes more from community size, IMO, than
anything else.  Anything dealing with low level hardware
stuff has those issues.

- Dave

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to