Splitting this off from issue1208 (msg6612):
David suggested that as an alternative to trackdown --bisect, we could implement
a version of trackdown with http://en.wikipedia.org/wiki/Delta_Debugging
I don't really know what it's all about, but Jason seem to have an idea:
- http://lists.osuosl.org/pipermail/darcs-users/2009-October/021776.html
- http://www.st.cs.uni-saarland.de/papers/fse2002/
We need somebody to sketch out an idea for how this work would concretely in Darcs.
Quoting Jason:
I think one of trickiest tasks with trackdown is that sometimes the
intermediate versions may be correct from the perspective of patch theory
and being a consistent repository, but the actual state of the pristine may
not make sense in terms of some other semantics such as the semantics of the
programming languages used. In other words, some versions may be valid,
non-corrupt, repositories but may not compile. Also, dealing with changes
surrounding a conflict may be tricky. Also, the search space may be
absolutely huge when you consider all the permutations of the patch
sequence.
I think it would be interesting if we tracked the various orders of a
repositories patch sequence over its lifetime. I think that is roughly the
order you want to do the trackdown in, assuming a linear trackdown.
|