# # # patch "wiki/MagicSelectors.mdwn" # from [20f0010b627dd161e6d9f41a2b6cfe9b943b6578] # to [e040a3ad13b52c90cc0d9863a299e2b2c1b05801] # ============================================================ --- wiki/MagicSelectors.mdwn 20f0010b627dd161e6d9f41a2b6cfe9b943b6578 +++ wiki/MagicSelectors.mdwn e040a3ad13b52c90cc0d9863a299e2b2c1b05801 @@ -1,4 +1,4 @@ -[[!tag migration-auto]] +[[!tag migration-wip]] There are a number of interesting problems and use cases where the current selector syntax isn't quite as useful as might be desirable. Various forms of "magic" selectors have been suggested. Some of these allow reasonably basic navigation of parts of the ancestry graph that don't currently have good names, others verge on the truly magical or are useful for very clever selection descriptions. @@ -34,13 +34,13 @@ Examples: m:HEAD, m:BASE, m:ANCESTOR, m # Individual Selector Suggestions -## working copy base +## working copy base the version in MT/revision. Requires a working copy. Possible letters: B? Usage: 'monotone diff -rB:' is equivalent to 'monotone diff' -## update target +## update target the version(s) that 'monotone update' will take you to (maybe allow a branch as the selector value, and that @@ -52,7 +52,7 @@ means what 'monotone update -bfoo' does? usage: 'monotone diff -rB: -rU:' prints the changes that will be applied to the working copy if 'monotone update' is run. -## branch point +## branch point the minimal common ancestor(s) of the current version and the heads of some other branch. @@ -69,7 +69,7 @@ and the heads of some other branch. 'monotone diff -rS:net.venge.monotone -rh:net.venge.monotone' -- what does net.venge.monotone have that this branch doesn't? -## predecessor +## predecessor takes a number (defaults to 1), and after evaluating the rest of the selector, replaces each selected revision with @@ -77,12 +77,12 @@ walk upwards from that revision. walk upwards from that revision. possible letters: P? ("predecessor", "parent") A? ("ancestor") -## successor +## successor same as predecessor, but with a downward walk. Possible letters: S? C? ("child"), D? ("descendent") -## heads +## heads after evaluating the rest of the selector, runs erase_ancestors on the set so generated. @@ -90,7 +90,7 @@ erase_ancestors on the set so generated. (NB: different from non-magic "h:" which gives heads of a branch -- this will probably confuse people?) -## disambiguation +## disambiguation Takes a single number. When the rest of the selector does not specify a unique revision, then this can be @@ -105,11 +105,11 @@ used to pick the nth of the revisions th update targets, use 'update -rU:/N:' to pick from following list:> -## initial/root revision +## initial/root revision The root of the ancestry tree (for the current revision?) -## time-based? +## time-based? would it be useful to have "latest of this set", "earliest of this set" selectors? obviously time is not normally very useful in our model, but