Package: subversion Version: 1.5.1dfsg1-1 Severity: wishlist Tags: patch Hi,
I found myself needing to track a regression, and since I suck so much at keeping the whole status mentally, I wrote this script that keeps track of it all. It's inspired by git-bisect and the syntax is almost the same (except it doesn't have all the features). A typical user session would be: svn-bisect start svn-bisect bad 4321 # mark 4321 as bad svn-bisect good 1234 # mark 1234 as good # svn-bisect picks a new revision and updates to it # user tests it svn-bisect bad # user determined it is bad # svn-bisect picks a new revision and updates to it etc While upstream wasn't really interested in it, I think it's very useful and would to have it provided in Debian. I would package it myself, but for such a small utility I think it's much better if it's part of the subversion package. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.18-6-amd64 (SMP w/2 CPU cores) Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages subversion depends on: ii libapr1 1.2.12-5 The Apache Portable Runtime Librar ii libc6 2.7-15 GNU C Library: Shared libraries ii libsasl2-2 2.1.22.dfsg1-23 Cyrus SASL - authentication abstra ii libsvn1 1.5.1dfsg1-1 Shared libraries used by Subversio subversion recommends no packages. Versions of packages subversion suggests: pn db4.6-util <none> (no description available) ii patch 2.5.9-5 Apply a diff file to an original pn subversion-tools <none> (no description available) -- no debconf information
#!/bin/sh -e # # Copyright (C) 2008 Robert Millan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. get_curr_rev () { svn info | sed -ne "s/^Revision: //p" } case $1 in start) rm -rf .svn-bisect mkdir .svn-bisect ;; bad|good) what=$1 shift if [ "$1" = "" ] ; then get_curr_rev > .svn-bisect/$what else echo $1 > .svn-bisect/$what fi ;; esac if ! test -e .svn-bisect/good || ! test -e .svn-bisect/bad ; then exit 0 fi good=`cat .svn-bisect/good` bad=`cat .svn-bisect/bad` target=$(((${good}+${bad})/2)) if [ "$target" = "$good" ] ; then echo "Regression found!" echo "Last good revision: $good" echo "First bad revision: $bad" exit 0 fi svn up -r $target