Update the Porting/bisect.pl documentation.
authorNicholas Clark <nick@ccl4.org>
Wed, 7 Aug 2013 16:58:00 +0000 (18:58 +0200)
committerNicholas Clark <nick@ccl4.org>
Wed, 7 Aug 2013 17:01:51 +0000 (19:01 +0200)
As of commit c8fde7fafa0a9cec (merged to blead with commit 4724da031eae31b4)
bisect.pl can be run in-place if the checkout is clean.

The most recent stable release that it will try is now v5.18.0.

Porting/bisect-runner.pl

index 6ceb22b..160c215 100755 (executable)
@@ -168,11 +168,18 @@ As a special case, if the first argument of the test case is a readable file
 (whether executable or not), matching C<qr{\A#!./(?:mini)?perl\b}> then it
 will have C<./perl> <-Ilib> (or C<./miniperl>) prepended to it.
 
-You need a clean checkout to run a bisect, and you can't use the checkout
-which contains F<Porting/bisect.pl> (because C<git bisect>) will check out
-a revision before F<Porting/bisect-runner.pl> was added, which
-C<git bisect run> needs). If your working checkout is called F<perl>, the
-simplest solution is to make a local clone, and run from that. I<i.e.>:
+You need a clean checkout to run a bisect. You can use the checkout
+containing F<Porting/bisect.pl> if you wish - in this case
+F<Porting/bisect.pl> will copy F<Porting/bisect-runner.pl> to a temporary
+file generated by C<File::Temp::tempfile()>. If doing this, beware that when
+the bisect ends (or you abort it) then your checkout is no longer at
+C<blead>, so you will need to C<git checkout blead> before restarting, to
+get the current version of F<Porting/bisect.pl> again. It's often easier
+either to copy F<Porting/bisect.pl> and F<Porting/bisect-runner.pl> to
+another directory (I<e.g.> F<~/bin>, if you have one), or to create a second
+git repository for running bisect. To create a second local repository, if
+your working checkout is called F<perl>, a simple solution is to make a
+local clone, and run from that. I<i.e.>:
 
     cd ..
     git clone perl perl2
@@ -195,9 +202,9 @@ If your F<db.h> is old enough you can override this with C<-Unoextensions>.
 
 Earliest revision to test, as a I<commit-ish> (a tag, commit or anything
 else C<git> understands as a revision). If not specified, F<bisect.pl> will
-search stable .0 perl releases until it finds one where the test case passes
-(5.16.0 at the time of writing). The default is to search from 5.002 to the
-most recent tagged stable release.  If F<bisect.pl> detects that the
+search stable .0 perl releases until it finds one where the test case
+passes. The default is to search from 5.002 to the most recent tagged stable
+release (v5.18.0 at the time of writing). If F<bisect.pl> detects that the
 checkout is on a case insensitive file system, it will search from 5.005 to
 the most recent tagged stable release. Only .0 stable releases are used
 because these are the only stable releases that are parents of blead, and