On 2010-02-26 11:29-0800 David MacMahon wrote: > > On Feb 26, 2010, at 11:19 , Alan W. Irwin wrote: > >> (1) Update my local svn repository for PLplot. > > I can't resist pointing out that git always has a local repository! It can't > really be called a local copy of *the* repository, but it is local. :-) > >> (2) Write a script to do the steps mentioned in the previous e-mail to >> demonstrate the error. This is straightforward, but it needs to be >> done for every error where either git-bisect or svn-bisect is to be used >> to find the revision that corresponds to introducing the regression. > > With this script, it should be very easy for me to run "git bisect". It will > also make it easier for me to fit in that task time-wise! :-)
I am done. The bad revision is 10794 (Andrew, the one where you fixed up issues with embedded blanks in directory names according to Arjen's suggestions.) revision 10793 works fine. Andrew, could you take a look please? The rest of this is about the method of finding that first bad revision. Bisection is a clear winner here (whether done with git-bisect or svn-bisect) to find the source of regressions. The script I used for this purpose was scripts/test_bisect.sh (revision 10819). Obviously (since that script is under version control), you must copy that script elsewhere when looking for a revision that executes the script without problems. There is some art to finding a good revision. For example, in the present case the result of that rough search was revision 10775 as a "good" revision while you cannot go back too far from that revision before you run into other -dev tk issues that were solved somewhere between 10750 and 10775. Once I determined that revision 10775 was good, then svn-bisect --min 10775 --max 10819 start svn-bisect run $OTHER_DIR/test_bisect.sh ==> revision 10794 was the bad one. The whole svn-bisect approach only took a few minutes. I think it would have been a lot longer if I was using the SF repo (see below about how to create and use a local repo). Clean up afterwards with svn-bisect revert svn update For those who don't know this, here is how to create (or update in my case) a local PLplot repo. rsync -av --delete \ plplot.svn.sourceforge.net::svn/plplot/* plplot This created /home/software/plplot_svn/svn_backup/plplot in my case. To use that repo I executed svn checkout file:///home/software/plplot_svn/svn_backup/plplot/trunk \ plplot_bisect Subsequently, all my bisection work was done in the plplot_bisect directory which made svn updates very fast. Note, svn update is used initially (and manually) a lot to find a good revision. svn-bisect also uses svn update a modest amount. The number of updates goes as the log base 2 of the revision range. Thus, a range of 1024 revisions only requires 10 updates to find which revision fails by bisection. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel