[PATCH] Fix bisection terminating condition

When testing bisection and using gitk to visualize the result, it was
obvious that the termination condition was broken.

We know what the bad entry is only when the bisection ends up telling us
to test the known-bad entry again.

Also, add a safety net: if somebody marks as good something that includes
the known-bad point, we now notice and complain, instead of writing an
empty revision to the new bisection branch.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
1 file changed
tree: 615d6a98d870d8822ce6cb5e2b61a18cf50ecb2e
  1. debian/
  2. Documentation/
  3. mozilla-sha1/
  4. ppc/
  5. t/
  6. templates/
  7. tools/
  8. .gitignore
  9. apply.c
  10. blob.c
  11. blob.h
  12. build-rev-cache.c
  13. cache.h
  14. cat-file.c
  15. checkout-cache.c
  16. clone-pack.c
  17. commit-tree.c
  18. commit.c
  19. commit.h
  20. connect.c
  21. convert-cache.c
  22. COPYING
  23. count-delta.c
  24. count-delta.h
  25. csum-file.c
  26. csum-file.h
  27. daemon.c
  28. date.c
  29. delta.h
  30. diff-cache.c
  31. diff-delta.c
  32. diff-files.c
  33. diff-helper.c
  34. diff-stages.c
  35. diff-tree.c
  36. diff.c
  37. diff.h
  38. diffcore-break.c
  39. diffcore-order.c
  40. diffcore-pathspec.c
  41. diffcore-pickaxe.c
  42. diffcore-rename.c
  43. diffcore.h
  44. entry.c
  45. epoch.c
  46. epoch.h
  47. export.c
  48. fetch-pack.c
  49. fsck-cache.c
  50. get-tar-commit-id.c
  51. git
  52. git-add-script
  53. git-bisect-script
  54. git-branch-script
  55. git-checkout-script
  56. git-cherry
  57. git-clone-dumb-http
  58. git-clone-script
  59. git-commit-script
  60. git-core.spec.in
  61. git-count-objects-script
  62. git-cvsimport-script
  63. git-diff-script
  64. git-external-diff-script
  65. git-fetch-script
  66. git-format-patch-script
  67. git-log-script
  68. git-ls-remote-script
  69. git-merge-one-file-script
  70. git-octopus-script
  71. git-parse-remote-script
  72. git-prune-script
  73. git-pull-script
  74. git-push-script
  75. git-rebase-script
  76. git-relink-script
  77. git-rename-script
  78. git-repack-script
  79. git-request-pull-script
  80. git-reset-script
  81. git-resolve-script
  82. git-revert-script
  83. git-send-email-script
  84. git-sh-setup-script
  85. git-shortlog
  86. git-status-script
  87. git-tag-script
  88. git-verify-tag-script
  89. git-whatchanged
  90. gitenv.c
  91. gitk
  92. hash-object.c
  93. http-pull.c
  94. ident.c
  95. index.c
  96. init-db.c
  97. INSTALL
  98. local-pull.c
  99. ls-files.c
  100. ls-tree.c
  101. Makefile
  102. merge-base.c
  103. merge-cache.c
  104. mktag.c
  105. object.c
  106. object.h
  107. pack-check.c
  108. pack-objects.c
  109. pack.h
  110. patch-delta.c
  111. patch-id.c
  112. path.c
  113. peek-remote.c
  114. pkt-line.c
  115. pkt-line.h
  116. prune-packed.c
  117. pull.c
  118. pull.h
  119. quote.c
  120. quote.h
  121. read-cache.c
  122. read-tree.c
  123. README
  124. receive-pack.c
  125. refs.c
  126. refs.h
  127. rev-cache.c
  128. rev-cache.h
  129. rev-list.c
  130. rev-parse.c
  131. rev-tree.c
  132. rsh.c
  133. rsh.h
  134. run-command.c
  135. run-command.h
  136. send-pack.c
  137. server-info.c
  138. setup.c
  139. sha1_file.c
  140. sha1_name.c
  141. show-branch.c
  142. show-index.c
  143. show-rev-cache.c
  144. ssh-pull.c
  145. ssh-push.c
  146. strbuf.c
  147. strbuf.h
  148. stripspace.c
  149. tag.c
  150. tag.h
  151. tar-tree.c
  152. test-date.c
  153. test-delta.c
  154. tree.c
  155. tree.h
  156. unpack-file.c
  157. unpack-objects.c
  158. update-cache.c
  159. update-server-info.c
  160. upload-pack.c
  161. usage.c
  162. var.c
  163. verify-pack.c
  164. write-tree.c