public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-acpi@vger.kernel.org
Subject: Re: Please pull ACPI updates
Date: Thu, 17 Jul 2008 14:49:04 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0807171402110.2965@localhost.localdomain> (raw)
In-Reply-To: <alpine.LFD.1.10.0807170752190.2959@woody.linux-foundation.org>

Andi, Jesse, Linus,

Thanks for working through this while I'm away.

Patches with cross-tree dependencies happen,
and they continue to be a challenge to our process.
We don't really have an organized way to handle them.
It seems that every time they are a communication challenge
and I'm sorry I wasn't there to hold up my
end of the communication on this merge.

Jesse,

I use Tony Luck's topic-branch scheme, now part of the git manual:

http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#maintaining-topic-branches

Re: updating history in git
yes, this is an sort of an oxymoron, but it is necessary
for a "middle-man" maintainer.
On one hand, we need to test exactly what is checked in,
and on the other hand, not every test passes...
So we need to revise what we checked in before it goes upstream
and becomes permanent history.

The alternative would be to check in a lot of reverts
and incremental patches that make the final history
sent to linus really confusing.

I find that the topic branches help a lot with this.
My "test" branch is the merge of a bunch of topic branches.
If a topic branch turns out to be bad, I can re-merge my test
branch from those topics, excluding the bad one.
(or including a revised replacement).

All the branches besides the revised one maintain
their place in history.  So if they used to work,
they shoulds still work.  Of course the merge itself
can go bad...  But my topic branches are as independent
as possible, so this is rare.

Customers of my test branch know that it can be re-based.
mm and linux-next are the main customers, and since
they re-merge from scratch each time, they're immune.
Individual developers simply deal with it as a diff,
say by using the plain-patch I export, or I do something special for them.

Sometimes I re-base topic branches to make
creating a diff of them versus a well known snapshot
(eg an -rc) easy.  This is particularly useful for
topic branches that take a long time to go upstream
b/c sometimes people want to test them, but only
against a recent baseline.

Branches pulled into "release" for linus are frozen,
or course, since Linus' tree is permanent history.
So any reverts/updates after that point have to
be real revert commits and incremental patches.

cheers,
-Len

ps.

One thing I wish I had in git is a way to make this sequence easier...

Say I have a big topic branch with 30 patches in it.
The 3rd patch turns out to have a bug in it, but the
rest of the series is okay.  Today I invoke gitk on
the branch and keep that open.
Then I create a new topic branch at the broken patch.

I always consult ~/src/git/Documentation/git-reset.txt
so I can remember the following sequence...

$ git reset --soft HEAD^
$ edit
$ git commit -a -c ORIG_HEAD

Now I've got the fixed 3rd patch checked in,
but 27 patches in the original branch are hanging
off the original broken 3rd patch.
So I git-cherry-pick 27 patches
I hope I get them in the right order and don't miss any...

It would be nice if we could somehow git rebase those
27 patches in a single command, but if we do,
that pulls with it the broken 3rd patch.

come to think of it, I can probably export 4..27 as
an mbox and then import it on top of the new 3,
maybe that is what others do.



  reply	other threads:[~2008-07-17 18:49 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-16 21:45 Please pull ACPI updates Andi Kleen
2008-07-16 22:11 ` Rafael J. Wysocki
2008-07-16 23:33   ` Jesse Barnes
2008-07-16 23:45     ` Linus Torvalds
2008-07-16 23:51       ` Jesse Barnes
2008-07-17  0:32         ` Linus Torvalds
2008-07-17  0:53           ` Linus Torvalds
2008-07-17  2:26             ` Jesse Barnes
2008-07-17  2:56               ` Linus Torvalds
2008-07-17  6:45           ` Andi Kleen
2008-07-17 15:06             ` Linus Torvalds
2008-07-17  6:40       ` Andi Kleen
2008-07-17 15:03         ` Linus Torvalds
2008-07-17 18:49           ` Len Brown [this message]
2008-07-17 19:12             ` Harvey Harrison
2008-07-17 19:50               ` Andi Kleen
2008-07-17 19:12             ` Linus Torvalds
2008-07-17 19:16               ` Linus Torvalds
2008-07-17 21:15             ` J. Bruce Fields
2008-07-17 23:11           ` [PATCH] Revert duplicate "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled" commit (was: Please pull ACPI updates) Thomas Gleixner
2008-07-17 23:25             ` [PATCH] Revert duplicate "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled" commit Andi Kleen
2008-07-18  0:07             ` [PATCH] Revert duplicate "ACPI: don't walk tables if ACPI was disabled" commit (was: Please pull ACPI updates) Thomas Gleixner
2008-07-17  6:47     ` Please pull ACPI updates Andi Kleen
2008-07-17 15:18       ` Linus Torvalds
2008-07-17 15:47         ` Linus Torvalds
2008-07-17 16:02           ` Linus Torvalds
2008-07-17 16:23           ` Andi Kleen
2008-07-17 19:11             ` Ray Lee
2008-07-17 19:49               ` Andi Kleen
2008-07-17 20:01                 ` Linus Torvalds
2008-07-17 20:14                   ` Andi Kleen
2008-07-17 20:16                   ` Linus Torvalds
2008-07-17 20:28                     ` Linus Torvalds
2008-07-18 13:25                       ` Olivier Galibert
2008-07-18 15:57                         ` Ray Lee
2008-07-17 20:34                     ` Andi Kleen
2008-07-17 20:11                 ` Ray Lee
2008-07-17 20:29                   ` Andi Kleen
2008-07-18  6:39                     ` david
  -- strict thread matches above, loose matches on Subject: below --
2008-07-24 20:36 Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.1.10.0807171402110.2965@localhost.localdomain \
    --to=lenb@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox