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

[PATCH v8 0/7] bisect: Add support for --no-checkout and --update-ref=<ref> options.

From
Jon Seymour <jon.seymour@gmail.com>
Date
Jul 31, 2011, 11:55 UTC
Message-ID
<1312113321-28760-1-git-send-email-jon.seymour@gmail.com>
For some bisection tasks, checking out the commit at each stage of the bisection process is unecessary or undesirable.
This series adds support for --no-checkout and --update-ref=<ref> options to git-bisect.
If specified on a start command, --no-checkout causes 'git bisect' to update HEAD at each stage of the bisection process instead of checking out the commit at that point. An alternative reference to update may be specified with --update-ref=<ref>.
One application of the --no-checkout option is to find, within a partially damaged repository, a commit that has at least one parent whose graph is fully reachable in the sense of 'git pack-objects'.
For example:
	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;'
Assuming this git bisect run completes successfully, bisect/bad will refer to a commit which has at least one parent that is fully reachable in the sense of 'git pack-objects'.
PLEASE NOTE: the initial patch in this series "bisect: move argument parsing before state modification." changes existing behaviour in the case that an invalid revision argument is supplied to 'git bisect start'. In particular, in this case, bisection state is neither created or modified if argument validation fails. Previously, existing bisection state would be cleared even if the revision arguments were subsequently determined to be invalid.
v8:
	Further feedback from Christian Couder. Support --update-ref <ref>.
v6: 
	This series includes numerous improvements suggested by Christian Couder.
Reworks: 
	"bisect: allow git bisect to be used with repos containing damaged trees." 
	Replaced --ignore-checkout-failure with --no-checkout option suggested by Junio.
Also pushed to github:
	https://github.com/jonseymour/git/commits/no-checkout-v8
	git://github.com/jonseymour/git.git refs/tags/no-checkout-v8:refs/tags/no-checkout-v8
Jon Seymour (7):
  bisect: move argument parsing before state modification.
  bisect: add tests to document expected behaviour in presence of
    broken trees.
  bisect: introduce support for --update-ref=<ref> option.
  bisect: introduce --no-checkout, --update-ref=<ref> support into
    porcelain.
  bisect: add tests for the --no-checkout and --update-ref options.
  bisect: add documentation for --no-checkout and --update-ref=<ref>
    options.
  bisect: support --update-ref <ref>
 Documentation/git-bisect.txt |   34 ++++++++-
 bisect.c                     |   34 ++++++---
 bisect.h                     |    2 +-
 builtin/bisect--helper.c     |    7 +-
 git-bisect.sh                |  109 +++++++++++++++++----------
 t/t6030-bisect-porcelain.sh  |  168 +++++++++++++++++++++++++++++++++++++++++-
 6 files changed, 296 insertions(+), 58 deletions(-)
-- 
1.7.6.391.g168d0.dirty
Next: Jon Seymour
Message 1 of 17 in “bisect: Add support for --no-checkout and --update-ref=<ref> options.”
  1. 0/7 bisect: Add support for --no-checkout and --update-ref=<ref> options.Jon Seymour, Jul 31, 2011
  2. 1/7 bisect: move argument parsing before state modification.Jon Seymour, Jul 31, 2011
  3. 2/7 bisect: add tests to document expected behaviour in presence of broken trees.Jon Seymour, Jul 31, 2011
  4. 3/7 bisect: introduce support for --update-ref=<ref> option.Jon Seymour, Jul 31, 2011
  5. 4/7 bisect: introduce --no-checkout, --update-ref=<ref> support into porcelain.Jon Seymour, Jul 31, 2011
  6. Christian CouderJul 31, 2011
  7. Jon SeymourJul 31, 2011
  8. Christian CouderJul 31, 2011
  9. Christian CouderJul 31, 2011
  10. Jon SeymourJul 31, 2011
  11. Christian CouderJul 31, 2011
  12. Christian CouderJul 31, 2011
  13. Jon SeymourJul 31, 2011
  14. 5/7 bisect: add tests for the --no-checkout and --update-ref options.Jon Seymour, Jul 31, 2011
  15. 6/7 bisect: add documentation for --no-checkout and --update-ref=<ref> options.Jon Seymour, Jul 31, 2011
  16. 7/7 bisect: support --update-ref <ref>Jon Seymour, Jul 31, 2011
  17. Jon SeymourJul 31, 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.