[PATCH 0 of 6] Implement new revset.bisected() keywords
Yann E. MORIN
yann.morin.1998 at anciens.enib.fr
Sat Sep 17 15:27:28 CDT 2011
Hello All!
As previously discussed on the list and on IRC, here is a patchset that
implements new revset.bisected() keywords:
- bisected(range)
All changesets in the bisection range, including good, bad and
skipped csets. This is /roughly/ : (good::bad | bad::good)
- bisected(pruned)
All csets in the above range, that are either good, bad or skipped'
skipped csets that are not in range are omitted from the result.
This is /roughly/ : range & (good|bad|skip)
- bisected(untested)
All csets in the range, that are neither good nor bad nor skipped.
This is /roughly/ : range & ! (good|bad|skip)
- bisected(ignored)
All cset that may have an impact on the bisection, but are out of
the range. For example, a branch that is merged between good and bad,
but which branch point is out of the range.
This is /roughly/ :
( ::bad - ::good | ::good - ::bad ) & ! range
This patchset is not really final, as I have doubt on the code currently
used to compute the different sets. I am ready to read your comments. ;-)
So far, all the tests I have done are giving the expected results, but I
would like to see a really complex DAG whith corner-cases, where I could
check the different keywords more thouroughly. Would the DAG in the test
'test-bisect2.t' be enough for this?
Also, there is currently no test-suite. If the 'test-bisect2.t' test is
enough (see above), then I'll hack the new keywords tests in there.
mercurial/revset.py | 2 +-
mercurial/revset.py | 6 ++++--
mercurial/revset.py | 32 ++++++++++++++++++++++++++++++--
mercurial/revset.py | 5 +++++
mercurial/revset.py | 5 +++++
mercurial/revset.py | 16 ++++++++++++++--
6 files changed, 59 insertions(+), 7 deletions(-)
Thank you!
Regards,
Yann E. MORIN.
More information about the Mercurial-devel
mailing list