git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v16 7/7] bisect: add documentation for --no-checkout option.

From
Jon Seymour <jon.seymour@gmail.com>
Date
Aug 3, 2011, 21:57 UTC
Message-ID
<1312408626-8600-8-git-send-email-jon.seymour@gmail.com>
In-Reply-To
<1312408626-8600-1-git-send-email-jon.seymour@gmail.com>
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
---
 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..44b9845 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 [<bad> [<good>...]] [--] [<paths>...]
+ git bisect start [--no-checkout] [<bad> [<good>...]] [--] [<paths>...]
  git bisect bad [<rev>]
  git bisect good [<rev>...]
  git bisect skip [(<rev>|<range>)...]
@@ -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::
++
+Do not checkout the new working tree at each iteration of the bisection
+process. Instead just update a special reference named 'BISECT_HEAD' to make
+it point to the commit that should be tested.
++
+This option may be useful when the test you would perform in each step
+does not require a checked out tree.
+
 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 <known-good-commit> [ <boundary-commit> ... ] --no-checkout
+$ git bisect run sh -c '
+	GOOD=$(git for-each-ref "--format=%(objectname)" refs/bisect/good-*") &&
+	git rev-list --objects BISECT_HEAD --not $GOOD >tmp.$$ &&
+	git pack-objects --stdout >/dev/null <tmp.$$
+	rc=$?
+	rm -f tmp.$$
+	test $rc = 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.352.g172e
Previous: Junio C Hamano
Message 10 of 10 in “bisect: Add support for --no-checkout option”
  1. 0/7 bisect: Add support for --no-checkout optionJon Seymour, Aug 3, 2011
  2. 1/7 bisect: move argument parsing before state modification.Jon Seymour, Aug 3, 2011
  3. 2/7 bisect: use && to connect statements that are deferred with eval.Jon Seymour, Aug 3, 2011
  4. 3/7 bisect: add tests to document expected behaviour in presence of broken trees.Jon Seymour, Aug 3, 2011
  5. 4/7 bisect: introduce support for --no-checkout option.Jon Seymour, Aug 3, 2011
  6. 5/7 bisect: introduce --no-checkout support into porcelain.Jon Seymour, Aug 3, 2011
  7. Junio C HamanoAug 4, 2011
  8. 6/7 bisect: add tests for the --no-checkout option.Jon Seymour, Aug 3, 2011
  9. Junio C HamanoAug 4, 2011
  10. 7/7 bisect: add documentation for --no-checkout option.Jon Seymour, Aug 3, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.