cvs-bisect

Simple script to do a binary search over your CVS repository to find out at when you serviced the pooch. Similar in spirit to git-bisect, although much more pedestrian.

Fetch it here: cvs-bisect. A sample run looks like this:

$ cat my-test
#!/bin/bash
test `cat CVS/Tag` \< D2005.11.06 || exit 1
$ cvs-bisect 2005-08-01 Now ./my-test 
* Checking that the check fails on 2006-01-20 17:44:52...
* Checking that the check succeeds on 2005-08-01 00:00:00...
* Updating tree to 2005-10-26 09:22:26...
* Running check
* Check passed
* Updating tree to 2005-12-08 13:03:39...
* Running check
* Check failed
* Updating tree to 2005-11-16 22:43:02...
* Running check
* Check failed
* Updating tree to 2005-11-06 03:32:44...
* Running check
* Check failed
* Updating tree to 2005-10-31 17:57:35...
* Running check
* Check passed
* Updating tree to 2005-11-03 10:45:09...
* Running check
* Check passed
* Updating tree to 2005-11-04 19:08:56...
* Running check
* Check passed
* Updating tree to 2005-11-05 11:20:50...
* Running check
* Check passed
* Updating tree to 2005-11-05 19:26:47...
* Running check
* Check passed
* Updating tree to 2005-11-05 23:29:45...
* Running check
* Check passed
* Updating tree to 2005-11-06 01:31:14...
* Running check
* Check failed
* Updating tree to 2005-11-06 00:30:29...
* Running check
* Check passed
* Updating tree to 2005-11-06 01:00:51...
* Running check
* Check failed
* Bisection stopped.

Command:
  "./my-test"
started to fail somewhere between 2005-11-06 00:30:29 and 2005-11-06 01:00:51.

In other toolchain-related hacks, I have become so addicted to the new browse.cgi pages on bugzilla that I couldn't bear to use the trac installation we have at work. So, a couple of macros later and I have a poor man's browse.cgi running. Makes trac into a more liveable place to spend your time.

I threw the macros into a page on the trac wiki, if others are interested.

Comments are closed.