linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Lang <david.lang@digitalinsight.com>
To: Junio C Hamano <junkio@cox.net>
Cc: linux-kernel@vger.kernel.org, Rob Landley <rob@landley.net>
Subject: Re: [git patches] 2.6.x libata updates
Date: Mon, 31 Oct 2005 00:10:47 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.62.0510302353370.16065@qynat.qvtvafvgr.pbz> (raw)
In-Reply-To: <7v7jbujfh6.fsf@assigned-by-dhcp.cox.net>
In-Reply-To: <7v7jbujfh6.fsf@assigned-by-dhcp.cox.net>

On Sun, 30 Oct 2005, Junio C Hamano wrote:

> Rob Landley <rob@landley.net> writes:
>
>> grep -n MARKER bisect.patch | less
>> (pick a line number)
>> head -n linenumber bisect.patch > test.patch
>>
>> If that's not it, revert test.patch and then try again.  Tell us the first
>> line number that failed, which is the end of the patch we want...
>>
>> Hmmm...  The logical place to put the URL to gitweb is at the _end_ of the
>> patch, attached to the marker.  So that's what they see in the grep, and the
>> last thing they test when they cut at that line with head -n...
>
> Well, do people realize that 'git bisect' is *not* a textual
> half-way between, but rather is computed every time you feed
> new "the patch you told me to test last time was good/bad"
> information?  I do not think statically generating a huge text
> and telling the user to apply up to halfway and bisect by hand
> would not work -- it would be quite different from what git
> bisect would give you.
>
> I think public webserver based bisect service David Lang
> suggests might work.  The interaction with it would start by the
> end user somehow giving it the last known-working commit ID (A)
> (pick from gitweb shortlog, perhaps) and a commit ID newer than
> that that broke things (B) (again, pick from gitweb shortlog).
> Then the service runs bisect on the server side, spit out a diff
> against (A).  The end user applies the patch, try it, and then
> come back and tell if it worked or not,...  Since we are talking
> about the kernel development, I think the cycle might involve
> rebooting the machine; so you would probably need two machines
> (one guinea-pig machine to reboot, another to keep the browser
> open so that your state can be kept somehow).

given the time required to compile a kernel and reboot you can't plan to 
keep the info server side (browser connections will time out well before 
this finishes)

instead this will require saving something on the client and passing it 
back to the server.

offhand I'd say that it would end up working something like this.

1. go to the website and pick starting good/bad points
2. the server will give you a tgz (bzip is significantly more load on the 
server) that contains the patch and a status file.
3. apply the patch to the starting tree (in theory it may be a smaller 
patch to either tree, but it's easier to explain if one is picked all the 
time so initially it should be the working tree). compile the tree and 
test
4. go back to the website, upload the status file and indicate sucess or 
failure
5. goto 2

the file would basicly save and report what git bisect would normally 
store in environment variables.

the server will have to do some sanity checking on the good and bad points 
it's given (for security reasons if nothing else)

potentially it should suggest checking an officially tagged release 
that's between the good and bad points. this may actually slow testing 
slightly (if you know it worked on 2.6.7 and failed on 2.6.12 you would 
probably be the most efficiant if you start bisecting directly, but it's 
far easier for others to understand things if you test 2.6.10 and other 
tagged releases first)

I also suspect that a log of what people are testing would be intereating 
to people as well (if you see a bunch of people bisecting in the same area 
it's an indication that more attention needs to be paied to that area)

David Lang

-- 
There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.
  -- C.A.R. Hoare

  reply	other threads:[~2005-10-31  8:11 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-29 18:22 [git patches] 2.6.x libata updates Jeff Garzik
2005-10-29 19:14 ` Andrew Morton
2005-10-29 19:20   ` Jeff Garzik
2005-10-29 19:37     ` Linus Torvalds
2005-10-29 20:09       ` Al Viro
2005-10-29 20:16       ` Jeff Garzik
2005-10-29 20:18       ` Nicolas Pitre
2005-10-29 21:01         ` Linus Torvalds
2005-10-30 15:46           ` Nicolas Pitre
2005-10-29 22:21       ` Andrew Morton
2005-10-29 22:30         ` Linus Torvalds
2005-10-30  0:55           ` Tony Luck
2005-10-30  2:28       ` Horst von Brand
2005-10-30 12:44       ` Rob Landley
2005-10-30 22:36         ` Linus Torvalds
2005-10-30 23:31           ` Rob Landley
2005-10-31  0:58             ` Linus Torvalds
2005-10-31  2:35               ` Rob Landley
2005-10-31  7:46                 ` Junio C Hamano
2005-10-31  8:10                   ` David Lang [this message]
2005-10-31  8:28                     ` David Lang
2005-10-31  9:00                     ` Junio C Hamano
2005-10-31  9:13                       ` David Lang
2005-10-31  9:34                         ` Rob Landley
2005-10-31 11:45                           ` Giuseppe Bilotta
2005-10-31 17:49                             ` David Lang
2005-10-31 18:06                               ` Giuseppe Bilotta
2005-10-31  2:52               ` Rob Landley
2005-11-10  0:36               ` Matthias Urlichs
2005-10-30 23:59           ` Rob Landley
2005-10-31  0:16             ` Randy.Dunlap
2005-10-30 13:11       ` Pavel Machek
2005-10-31  3:55       ` David Lang
  -- strict thread matches above, loose matches on Subject: below --
2006-01-18  2:15 Jeff Garzik
2006-01-18  2:33 ` Andrew Morton
2006-01-18  5:18   ` Jeff Garzik
2006-01-03 16:43 Jeff Garzik
2006-01-03 16:51 ` Bartlomiej Zolnierkiewicz
2006-01-03 16:56   ` Jeff Garzik
2006-01-03 17:32   ` Alan Cox
2006-01-03 17:43     ` Jeff Garzik
2006-01-03 18:35       ` Bartlomiej Zolnierkiewicz
2006-01-03 18:50         ` Alan Cox
2006-01-04 14:02       ` Alan Cox
2005-11-11 16:23 Jeff Garzik
2005-11-09  6:54 Jeff Garzik
2005-10-28  0:49 Jeff Garzik
2005-10-28 16:08 ` Linus Torvalds
2005-08-29  0:25 Jeff Garzik
2005-06-28 16:59 Jeff Garzik

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=Pine.LNX.4.62.0510302353370.16065@qynat.qvtvafvgr.pbz \
    --to=david.lang@digitalinsight.com \
    --cc=junkio@cox.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob@landley.net \
    /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;
as well as URLs for NNTP newsgroup(s).