comparison tests/test-revset.t @ 49447:6dbe74669eba

sort-revset: introduce a `random` variant This new `sort` variant allows to shuffle any revset. It also allow for randomly picking element using `first`.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 25 Jul 2022 05:30:06 +0200
parents 42d2b31cee0b
children 76c128d4de4e
comparison
equal deleted inserted replaced
49445:cd21f2b4226f 49447:6dbe74669eba
2972 3 b112 m111 u11 120 0 2972 3 b112 m111 u11 120 0
2973 2 b111 m11 u12 111 3600 2973 2 b111 m11 u12 111 3600
2974 1 b11 m12 u111 112 7200 2974 1 b11 m12 u111 112 7200
2975 0 b12 m111 u112 111 10800 2975 0 b12 m111 u112 111 10800
2976 2976
2977 random sort
2978
2979 $ hg log --rev 'sort(all(), "random")' | wc -l
2980 \s*8 (re)
2981 $ hg log --rev 'sort(all(), "-random")' | wc -l
2982 \s*8 (re)
2983 $ hg log --rev 'sort(all(), "random", random.seed=celeste)'
2984 6 b111 t2 tu 130 0
2985 7 b111 t3 tu 130 0
2986 4 b111 m112 u111 110 14400
2987 3 b112 m111 u11 120 0
2988 5 b111 t1 tu 130 0
2989 0 b12 m111 u112 111 10800
2990 1 b11 m12 u111 112 7200
2991 2 b111 m11 u12 111 3600
2992 $ hg log --rev 'first(sort(all(), "random", random.seed=celeste))'
2993 6 b111 t2 tu 130 0
2994
2995
2977 topographical sorting can't be combined with other sort keys, and you can't 2996 topographical sorting can't be combined with other sort keys, and you can't
2978 use the topo.firstbranch option when topo sort is not active: 2997 use the topo.firstbranch option when topo sort is not active:
2979 2998
2980 $ hg log -r 'sort(all(), "topo user")' 2999 $ hg log -r 'sort(all(), "topo user")'
2981 hg: parse error: topo sort order cannot be combined with other sort keys 3000 hg: parse error: topo sort order cannot be combined with other sort keys