From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by dcvr.yhbt.net (Postfix) with ESMTP id 46EE81F4D7 for ; Fri, 6 May 2022 16:57:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443984AbiEFRA4 (ORCPT ); Fri, 6 May 2022 13:00:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443979AbiEFRAz (ORCPT ); Fri, 6 May 2022 13:00:55 -0400 Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D63FD6A072 for ; Fri, 6 May 2022 09:57:10 -0700 (PDT) Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 8887411871D; Fri, 6 May 2022 12:57:09 -0400 (EDT) (envelope-from junio@pobox.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=LKVj5UL8QMPdspbWQi+ffzcLo3Bd6BMsPZZK6v qals8=; b=hXyfoDBaamB2CRXn7/SCZAoiEZbmeZnM1oGCYZ6l6iuT7DPF+0dqZU ptuXTpLX0N9+J4orwAXI2ilwTTYqoTqNSk2sKsjkiE0U19oM8+1fsfcmgXL77yn0 VK++URfR0SYm/xyDyqELMB+jKpj/+64MfzmGQVBLZZb4l8WCGF6oI= Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id F212B11871C; Fri, 6 May 2022 12:57:08 -0400 (EDT) (envelope-from junio@pobox.com) Received: from pobox.com (unknown [34.83.65.128]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 95E5711871B; Fri, 6 May 2022 12:57:05 -0400 (EDT) (envelope-from junio@pobox.com) From: Junio C Hamano To: Taylor Blau Cc: Chris Down , git@vger.kernel.org, Johannes Schindelin , Christian Couder , kernel-team@fb.com Subject: Re: [PATCH v2 2/2] bisect: output bisect setup status in bisect log References: Date: Fri, 06 May 2022 09:57:03 -0700 In-Reply-To: (Taylor Blau's message of "Thu, 5 May 2022 23:03:43 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Pobox-Relay-ID: 8EFE9208-CD5D-11EC-BF2A-5E84C8D8090B-77302942!pb-smtp1.pobox.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Taylor Blau writes: > On Fri, May 06, 2022 at 01:52:54AM +0100, Chris Down wrote: >> This allows seeing the current intermediate status without adding a new >> good or bad commit: >> >> $ git bisect log | tail -1 >> # status: waiting for bad commit, 1 good commit known > > Hmm. I was worried that this would make it harder to turn the output of > "git bisect log" into something you can inject into "git bisect replay > ". But it doesn't, because you prefix the status lines with a '#' > character. ;-) It has always been the basic design of "git bisect replay" since the old days back when the command was scripted. The log is designed to be an executable shell script and we do not need to use "replay" at all. > I'm not totally convinced it _needs_ to live in "git bisect log", It is a convenient place and other "helpful" comments are also stored there, so the existing users may already know to look into it to reorient where they were. The original suggestion during the previous round of this series was to come up with a way to help those who get lost during a long session of spelunking the history to start bisection, like so: * start a bisection session * find one end (perhaps bad end) * say "git bisect bad $this" and be told "now go find a good one" * ran around various versions with "git reset --hard $that && make" to see the other end (perhaps good end). * forget where they were---was it their turn to feed a good revision or bad revision? * "git bisect status" can be used to remind them that they were told "now go find a good one". And I actually find that "go to log and see what progress you made so far" as implemented in this series a far easier and scalable solution than "git bisect status". Next time we add more "here is an extra piece of information to help reorient yourself", we do not have to worry about how to present it in "git bisect status" output (and we do not have to worry about teaching "bisect status" subcommand about it in the first place). As long as we make sure that everybody uses the new "bisect_log_printf()" wrapper for informational messages, we get it for free. Thanks.