public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
* Re: [B.A.T.M.A.N.] RFC: Removing one indirection layer for patches
@ 2012-12-05 17:40 Marek Lindner
  2012-12-05 17:50 ` Sven Eckelmann
  2012-12-05 18:04 ` Sven Eckelmann
  0 siblings, 2 replies; 14+ messages in thread
From: Marek Lindner @ 2012-12-05 17:40 UTC (permalink / raw)
  To: The list for a Better Approach To Mobile Ad-hoc Networking


Hi,

[trimmed long explanation of how things are done today]

> Antonio already showed that he can handle adhoc pull requests very well.
> Therefore, the idea would be to remove the two month extra waiting time.
> Here are just two random branch names:
> 
> * next - new patches are excepted here - so it is something like net-next
> for batman-adv. Antonio will gather some patches and then sent them to
> David. Davids reaction will come heavy and hard... but the effort for an
> reaction is reduced.
> * master - bugfix gathering place. So it is like net for batman-adv.
> Patches will end up really fast in Linus' tree.

I am a little confused here. Our "next" branch will be the new "master" and 
the new "master" will be what "maint" is today ?

I also don't see the implementation of the new merge policy yet. David can 
only receive what we merged before but how do we determine what patch to merge 
when and how ? Up to now there was a simple rule (spawned from your head 
iirc): Features into master, cleanups into master, fixes for next into next 
and very critical stuff into maint. How is that supposed to work in the 
future?

One very vocal voice keeps telling me: Just merge everything into the "new 
next" - the rest will fall into place. No need to worry. 

However, it would be great if your suggestion could be contemplated by such a 
merge policy. I don't see it yet. It would be even better if those who believe 
to know how it all will work out stepped up and took the job of collecting & 
merging the patches into the "new next". I certainly would not mind.

Cheers,
Marek

^ permalink raw reply	[flat|nested] 14+ messages in thread
* [B.A.T.M.A.N.] RFC: Removing one indirection layer for patches
@ 2012-12-04 21:50 Sven Eckelmann
  2012-12-04 23:01 ` Antonio Quartulli
  2012-12-05 10:35 ` Andrew Lunn
  0 siblings, 2 replies; 14+ messages in thread
From: Sven Eckelmann @ 2012-12-04 21:50 UTC (permalink / raw)
  To: b.a.t.m.a.n

[-- Attachment #1: Type: text/plain, Size: 4800 bytes --]

Hi,

I am here to think loud about the batman-adv way of dealing with patches. I 
think everybody knows how it works right now [1]. Patches will be accepted by 
Marek and applied on master (we ignore some exceptions for now). From time to 
time a new kernel is released, this is the time when next is used to create a 
new release which is more or less the stuff also in the released^W"next to be 
released" kernel. Now all the stuff in master is merged into next and Antonio 
will use the stuff in next to create pull requests for David S. Miller. In 
case he accepts it in net-next (this isn't as easy as it sounds), this stuff 
will be part of the next+1 kernel.

This concept of "let everything wait in master until it is smells funny" 
worked perfectly in the past and helped a lot to organize some things. But it 
seems more and more problematic to continue to work with it because David S. 
Miller isn't the most easy person and therefore a lot of things got pushed 
back or got rejected.

So, what happens when something gets rejected or has to be reworked? Yes, some 
people have to run around and do a lot of magic. These things will end up in 
next (because this is were Antonio is working when he sends patches to David) 
and all the new stuff in master has to be rebased later on top of the new 
things in next [did I just loose most of my audience or is this snoring coming 
out of my PC?].

To make it short: An extra release cycle waiting time for feature patches is 
added and creates an extra burden for the involved maintainers because they 
have to rebase/revert/move/... patches when something unexpected happens (or 
we can say: "when David happens"). I will just remind everyone of the DAT fun.

The big question is: Is this extra waiting time for new feature patches really 
useful in the current situation and does batman-adv benefit from it in a 
special/irreplaceable way?

My personal observation is rather negative. Most problems are detected by 
people using the release and by people checking the patches (on the 
b.a.t.m.a.n. mailing list and on netdev... this includes "i am really really 
angry about what you did" David). But of course, my impressions could be 
slightly biased. I think Antonio can give more insights about it because he 
has to squash all the stuff together.

Here just a calculation for a new feature patch:
 * Send to b.a.t.m.a.n@lists.open-mesh.org at the beginning of the first month
 * accepted by Marek in the middle of the first month (had to be resent or so)
 * will be part of next in the middle of the third month
 * will be sent to David in the middle of the third month (uh, fast Antonio)
 * will be send to Linus by David at the the beginning of the fifth month
 * will be released as a separate kernel module in the middle of the fifth
   month
 * will be released in a kernel at the beginning of the seventh month

Or it could easily happen that the author of the patches get a late "sry, it 
will not be accepted" in months three-five by David. Of course, it can also 
happen after month five, but this is rather unlikely because it already passed 
the fuzzy Heimdall reincarnation David.

Antonio already showed that he can handle adhoc pull requests very well. 
Therefore, the idea would be to remove the two month extra waiting time. Here 
are just two random branch names:

* next - new patches are excepted here - so it is something like net-next for
  batman-adv. Antonio will gather some patches and then sent them to David.
  Davids reaction will come heavy and hard... but the effort for an reaction
  is reduced.
* master - bugfix gathering place. So it is like net for batman-adv. Patches
  will end up really fast in Linus' tree.

But I would still say it is a good idea to create releases from next because 
more people will test it and therefore it is easier to get bugfixes to Linus' 
instead through the stable queue. .1 releases from master can still be created 
when necessary.

So, why bringing this up now? We currently have 12 Patches in master and Linux 
3.7 will be released soon. So switching the patch strategy will not break 
loose hell. And as a nice side effect: it is not too tragic when 
C.A.T.W.O.M.A.N. is not merged right now.

But what would it mean for the next release? Hm, the next release would be 
created from next, but then we propably have to use some tricks. Right now 
master is too far ahead because it has the role of next+1. We would have to 
move the patches to next (simple merge) and reset master to the release.

Further .0 releases would just be made on next and then master merges the 
release. Additional fixes in master can "simply" be merged in next.

Let the fight begin...

Kind regards,
	Sven

[1] http://www.open-mesh.org/projects/batman-adv/wiki/Release-todo?version=133

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-12-05 18:04 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-05 17:40 [B.A.T.M.A.N.] RFC: Removing one indirection layer for patches Marek Lindner
2012-12-05 17:50 ` Sven Eckelmann
2012-12-05 18:04 ` Sven Eckelmann
  -- strict thread matches above, loose matches on Subject: below --
2012-12-04 21:50 Sven Eckelmann
2012-12-04 23:01 ` Antonio Quartulli
2012-12-05  9:45   ` Sven Eckelmann
2012-12-05 10:35 ` Andrew Lunn
2012-12-05 11:06   ` Antonio Quartulli
2012-12-05 11:24     ` Andrew Lunn
2012-12-05 11:32       ` Antonio Quartulli
2012-12-05 11:23   ` Sven Eckelmann
2012-12-05 11:39     ` Andrew Lunn
2012-12-05 12:05       ` Antonio Quartulli
2012-12-05 13:12       ` Simon Wunderlich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox