summaryrefslogtreecommitdiff
path: root/Porting
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2023-01-19 00:27:31 +0000
committerHugo van der Sanden <hv@crypt.org>2023-01-20 11:29:21 +0000
commitd08266be578acc8495e41f0a0ed1833f909f573d (patch)
tree98263407f0ad147ea6e51ee030a9ab8fca91688b /Porting
parent12fb3ffd42aee3e4e8e8812a763d1dda401f2835 (diff)
downloadperl-d08266be578acc8495e41f0a0ed1833f909f573d.tar.gz
bisect-runner docs: explain more about bisection
Diffstat (limited to 'Porting')
-rwxr-xr-xPorting/bisect-runner.pl23
1 files changed, 23 insertions, 0 deletions
diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl
index 8267befc00..262e8b77a2 100755
--- a/Porting/bisect-runner.pl
+++ b/Porting/bisect-runner.pl
@@ -844,6 +844,29 @@ Display the usage information and exit.
=back
+=head1 ABOUT BISECTION
+
+The process is all about identifying the commit that caused some change
+in behaviour - maybe good, maybe bad. But it is built around C<git bisect>,
+which is much more specifically aimed at finding "what broke the build".
+C<git> terminology embeds that assumption - commits earlier than the
+target commit are "good" commits, those at or later than the target commit
+are "bad" commits.
+
+The default behaviour of F<bisect.pl> mimics this - you supply some code
+that I<fails> with a perl built B<at or after> the target commit and
+I<succeeds> with a perl built B<before> the target commit, and F<bisect.pl>
+will find the target commit.
+
+The F<bisect.pl> option C<--expect-fail> reverses those expectations
+(and changes nothing else). So with C<--expect-fail>, you should supply
+code that I<fails> only with a perl built B<before> the target commit,
+and I<succeeds> with a perl built B<at or after> the target commit.
+
+By default, I<failure> is a piece of perl code that terminates with
+a non-zero exit code, e.g. by calling C<die()>. Options that change what
+is interpreted as failure include C<--crash>, C<--test-build> and C<--match>.
+
=head1 EXAMPLES
=head2 Code has started to crash under C<miniperl>