bisect extension for mercurial
it works almost the same as git-bisect:
hg bisect init # start bisecting
hg bisect bad # mark current revision as broken
hg bisect good [<rev>] # mark <rev> as working
... the bisect code finds a new revision to try
... see if it works
hg bisect good # if it worked
hg bisect bad # it doesn't work
continue until there is only one revision left
import mercurial.util
def dumbdecode(s, cmd):
return s.replace('\n', '\r\n')
def dumbencode(s, cmd):
return s.replace('\r\n', '\n')
def clevertest(s, cmd):
if '\0' in s: return False
return True
def cleverdecode(s, cmd):
if clevertest(s, cmd):
return dumbdecode(s, cmd)
return s
def cleverencode(s, cmd):
if clevertest(s, cmd):
return dumbencode(s, cmd)
return s
mercurial.util.filtertable.update({
'dumbdecode:': dumbdecode,
'dumbencode:': dumbencode,
'cleverdecode:': cleverdecode,
'cleverencode:': cleverencode,
})