On Wed, Jan 11, 2012 at 10:32 PM, Geert Uytterhoeven <gee...@linux-m68k.org> wrote:

That's why you need two branches: 1. a non-rebasing one for development, 2. a rebasing one containing cherry-picked (possibly folded) commits for preparing for upstream delivery.

Stop being a moron.

Go back and read the "nobody can work with you". If you rebase for upstream delivery, then that means that everybody that works with you are workign with a tree that isn't ready for delivery, and that they cannot rely on.

Just don't do it. If your tree is so ugly that you can't deliver it upstream, then don't deliver it sideways or downstream either. Keep it in your own pants, and don't make it public at all. Since nobody can trust it anyway, and since it isn't the final end result, why even bother? They can't rely on it, they can't work with it.

So here's the *real* solution:

- make sure your development tree is in good enough shape that you can make it public, and can ask me to pull it.

It really is that simple. If you don't think it's in good enough shape, don't make it public.

Linus