From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Seymour Subject: [PATCH v14 7/8] bisect: add documentation for --no-checkout option. Date: Wed, 3 Aug 2011 08:16:01 +1000 Message-ID: <1312323362-20096-8-git-send-email-jon.seymour@gmail.com> References: <1312323362-20096-1-git-send-email-jon.seymour@gmail.com> Cc: chriscool@tuxfamily.org, gitster@pobox.com, j6t@kdbg.org, jnareb@gmail.com, Jon Seymour To: git@vger.kernel.org X-From: git-owner@vger.kernel.org Wed Aug 03 00:17:00 2011 Return-path: Envelope-to: gcvg-git-2@lo.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QoNGl-000433-9g for gcvg-git-2@lo.gmane.org; Wed, 03 Aug 2011 00:16:59 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755634Ab1HBWQ5 (ORCPT ); Tue, 2 Aug 2011 18:16:57 -0400 Received: from mail-gx0-f174.google.com ([209.85.161.174]:40444 "EHLO mail-gx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755612Ab1HBWQs (ORCPT ); Tue, 2 Aug 2011 18:16:48 -0400 Received: by mail-gx0-f174.google.com with SMTP id 21so155339gxk.19 for ; Tue, 02 Aug 2011 15:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=LU1OVPd8jlBlGcLxycsK21UR+WRDN7cX0oKO2sdDFaM=; b=h1UMVE23b+BY9wuo6CW/NU1jiYeYxuYRAvcMv9ULfHZ1a4lpiUfoY+qV2n4ftN52gM Bme3IzrCoKKPsvO8AV4lBHGznJY3QsbdV9P0hzkZ3D9QedIXK7HM4BFMG0E4TGlKSSE/ meIKIrAPwj3O+4EXolYcAQ2UOgBpS+SQ+sCOU= Received: by 10.68.17.195 with SMTP id q3mr10710pbd.255.1312323407298; Tue, 02 Aug 2011 15:16:47 -0700 (PDT) Received: from localhost.localdomain ([120.16.93.94]) by mx.google.com with ESMTPS id d3sm269987pbg.44.2011.08.02.15.16.43 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 02 Aug 2011 15:16:46 -0700 (PDT) X-Mailer: git-send-email 1.7.6.353.gb3ae7e In-Reply-To: <1312323362-20096-1-git-send-email-jon.seymour@gmail.com> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Signed-off-by: Jon Seymour --- Documentation/git-bisect.txt | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt index ab60a18..2014894 100644 --- a/Documentation/git-bisect.txt +++ b/Documentation/git-bisect.txt @@ -17,7 +17,7 @@ The command takes various subcommands, and different options depending on the subcommand: git bisect help - git bisect start [ [...]] [--] [...] + git bisect start [--no-checkout] [ [...]] [--] [...] git bisect bad [] git bisect good [...] git bisect skip [(|)...] @@ -263,6 +263,17 @@ rewind the tree to the pristine state. Finally the script should exit with the status of the real test to let the "git bisect run" command loop determine the eventual outcome of the bisect session. +OPTIONS +------- +--no-checkout:: ++ +This option is used to specify that 'git bisect' should not modify the working +tree or index on each iteration of the bisection process but should +update HEAD instead. ++ +This option is useful in circumstances in which checkout is either not +possible (because of a damaged respository) or is otherwise not required. + EXAMPLES -------- @@ -343,6 +354,25 @@ $ git bisect run sh -c "make || exit 125; ~/check_test_case.sh" This shows that you can do without a run script if you write the test on a single line. +* Locate a good region of the object graph in a damaged repository ++ +------------ +$ git bisect start HEAD [ ... ] --no-checkout +$ git bisect run eval ' +rc=1; +if git rev-list --objects HEAD >tmp.$$; then + git pack-objects --stdout >/dev/null < tmp.$$ && rc=0; +fi; +rm tmp.$$; +test $rc -eq 0;' + +------------ ++ +In this case, when 'git bisect run' finishes, bisect/bad will refer to a commit that +has at least one parent whose reachable graph is fully traversable in the sense +required by 'git pack objects'. + + SEE ALSO -------- link:git-bisect-lk2009.html[Fighting regressions with git bisect], -- 1.7.6.353.gb3ae7e