Show More
@@ -601,3 +601,11 b' def successorsetverb(successorset):' | |||
|
601 | 601 | else: |
|
602 | 602 | verb = 'split' |
|
603 | 603 | return verb |
|
604 | ||
|
605 | def markersusers(markers): | |
|
606 | """ Returns a sorted list of markers users without duplicates | |
|
607 | """ | |
|
608 | markersmeta = [dict(m[3]) for m in markers] | |
|
609 | users = set(meta.get('user') for meta in markersmeta if meta.get('user')) | |
|
610 | ||
|
611 | return sorted(users) |
@@ -850,6 +850,24 b' def mod(context, mapping, args):' | |||
|
850 | 850 | func = lambda a, b: a % b |
|
851 | 851 | return runarithmetic(context, mapping, (func, args[0], args[1])) |
|
852 | 852 | |
|
853 | @templatefunc('obsfateusers(markers)') | |
|
854 | def obsfateusers(context, mapping, args): | |
|
855 | """Compute obsfate related information based on markers (EXPERIMENTAL)""" | |
|
856 | if len(args) != 1: | |
|
857 | # i18n: "obsfateusers" is a keyword | |
|
858 | raise error.ParseError(_("obsfateusers expects one arguments")) | |
|
859 | ||
|
860 | markers = evalfuncarg(context, mapping, args[0]) | |
|
861 | ||
|
862 | try: | |
|
863 | data = obsutil.markersusers(markers) | |
|
864 | return templatekw.hybridlist(data, name='user') | |
|
865 | except (TypeError, KeyError, ValueError): | |
|
866 | # i18n: "obsfateusers" is a keyword | |
|
867 | msg = _("obsfateusers first argument should be an iterable of " | |
|
868 | "obsmakers") | |
|
869 | raise error.ParseError(msg) | |
|
870 | ||
|
853 | 871 | @templatefunc('obsfateverb(successors)') |
|
854 | 872 | def obsfateverb(context, mapping, args): |
|
855 | 873 | """Compute obsfate related information based on successors (EXPERIMENTAL)""" |
@@ -14,7 +14,8 b' Global setup' | |||
|
14 | 14 | > [templates] |
|
15 | 15 | > obsfatesuccessors = " as {join(successors, ", ")}" |
|
16 | 16 | > obsfateverb = "{obsfateverb(successors)}" |
|
17 | > obsfate = "{obsfateverb}{obsfatesuccessors}; " | |
|
17 | > obsfateusers = "{if(obsfateusers(markers), " by {join(obsfateusers(markers), ", ")}")}" | |
|
18 | > obsfate = "{obsfateverb}{obsfatesuccessors}{obsfateusers}; " | |
|
18 | 19 | > [alias] |
|
19 | 20 | > tlog = log -G -T '{node|short}\ |
|
20 | 21 | > {if(predecessors, "\n Predecessors: {predecessors}")}\ |
@@ -93,21 +94,21 b' Predecessors template should show curren' | |||
|
93 | 94 | o d004c8f274b9 |
|
94 | 95 | | |
|
95 | 96 | | @ 471f378eab4c |
|
96 | |/ Obsfate: rewritten as 4:d004c8f274b9; | |
|
97 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test1, test2; | |
|
97 | 98 | o ea207398892e |
|
98 | 99 | |
|
99 | 100 | $ hg fatelog |
|
100 | 101 | o d004c8f274b9 |
|
101 | 102 | | |
|
102 | 103 | | @ 471f378eab4c |
|
103 | |/ Obsfate: rewritten as 4:d004c8f274b9; | |
|
104 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test1, test2; | |
|
104 | 105 | o ea207398892e |
|
105 | 106 | |
|
106 | 107 | $ hg fatelog -v |
|
107 | 108 | o d004c8f274b9 |
|
108 | 109 | | |
|
109 | 110 | | @ 471f378eab4c |
|
110 | |/ Obsfate: rewritten as 4:d004c8f274b9; | |
|
111 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test1, test2; | |
|
111 | 112 | o ea207398892e |
|
112 | 113 | |
|
113 | 114 | $ hg up 'desc(A1)' --hidden |
@@ -130,7 +131,7 b' Predecessors template should show curren' | |||
|
130 | 131 | o d004c8f274b9 |
|
131 | 132 | | |
|
132 | 133 | | @ a468dc9b3633 |
|
133 | |/ Obsfate: rewritten as 4:d004c8f274b9; | |
|
134 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test2; | |
|
134 | 135 | o ea207398892e |
|
135 | 136 | |
|
136 | 137 | Predecessors template should show all the predecessors as we force their display |
@@ -161,11 +162,11 b' with --hidden' | |||
|
161 | 162 | o d004c8f274b9 |
|
162 | 163 | | |
|
163 | 164 | | @ a468dc9b3633 |
|
164 | |/ Obsfate: rewritten as 4:d004c8f274b9; | |
|
165 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test2; | |
|
165 | 166 | | x f137d23bb3e1 |
|
166 | 167 | | | |
|
167 | 168 | | x 471f378eab4c |
|
168 | |/ Obsfate: rewritten as 3:a468dc9b3633; | |
|
169 | |/ Obsfate: rewritten as 3:a468dc9b3633 by test1; | |
|
169 | 170 | o ea207398892e |
|
170 | 171 | |
|
171 | 172 | |
@@ -210,14 +211,13 b' visible.' | |||
|
210 | 211 | @ d004c8f274b9 |
|
211 | 212 | | |
|
212 | 213 | | x a468dc9b3633 |
|
213 | |/ Obsfate: rewritten as 4:d004c8f274b9; | |
|
214 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test2; | |
|
214 | 215 | | x f137d23bb3e1 |
|
215 | 216 | | | |
|
216 | 217 | | x 471f378eab4c |
|
217 | |/ Obsfate: rewritten as 3:a468dc9b3633; | |
|
218 | |/ Obsfate: rewritten as 3:a468dc9b3633 by test1; | |
|
218 | 219 | o ea207398892e |
|
219 | 220 | |
|
220 | ||
|
221 | 221 | $ hg fatelogjson --hidden |
|
222 | 222 | @ d004c8f274b9 |
|
223 | 223 | | |
@@ -319,7 +319,7 b' Predecessors template should show curren' | |||
|
319 | 319 | o 337fec4d2edc |
|
320 | 320 | | |
|
321 | 321 | | @ 471597cad322 |
|
322 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a; | |
|
322 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test; | |
|
323 | 323 | o ea207398892e |
|
324 | 324 | |
|
325 | 325 | $ hg up f257fde29c7a |
@@ -360,7 +360,7 b' with --hidden' | |||
|
360 | 360 | o 337fec4d2edc |
|
361 | 361 | | |
|
362 | 362 | | x 471597cad322 |
|
363 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a; | |
|
363 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test; | |
|
364 | 364 | o ea207398892e |
|
365 | 365 | |
|
366 | 366 | $ hg fatelogjson --hidden |
@@ -461,7 +461,7 b' Predecessors template should show curren' | |||
|
461 | 461 | o eb5a0daa2192 |
|
462 | 462 | | |
|
463 | 463 | | @ 471f378eab4c |
|
464 | |/ Obsfate: rewritten as 3:eb5a0daa2192; | |
|
464 | |/ Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
|
465 | 465 | o ea207398892e |
|
466 | 466 | |
|
467 | 467 | $ hg up 'desc(B0)' --hidden |
@@ -490,9 +490,9 b' displayed' | |||
|
490 | 490 | o eb5a0daa2192 |
|
491 | 491 | | |
|
492 | 492 | | @ 0dec01379d3b |
|
493 | | | Obsfate: rewritten as 3:eb5a0daa2192; | |
|
493 | | | Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
|
494 | 494 | | x 471f378eab4c |
|
495 | |/ Obsfate: rewritten as 3:eb5a0daa2192; | |
|
495 | |/ Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
|
496 | 496 | o ea207398892e |
|
497 | 497 | |
|
498 | 498 | $ hg up 'desc(C0)' |
@@ -528,9 +528,9 b' with --hidden' | |||
|
528 | 528 | @ eb5a0daa2192 |
|
529 | 529 | | |
|
530 | 530 | | x 0dec01379d3b |
|
531 | | | Obsfate: rewritten as 3:eb5a0daa2192; | |
|
531 | | | Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
|
532 | 532 | | x 471f378eab4c |
|
533 | |/ Obsfate: rewritten as 3:eb5a0daa2192; | |
|
533 | |/ Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
|
534 | 534 | o ea207398892e |
|
535 | 535 | |
|
536 | 536 | |
@@ -667,7 +667,7 b' Predecessors template should show curren' | |||
|
667 | 667 | | o fdf9bde5129a |
|
668 | 668 | |/ |
|
669 | 669 | | @ 471f378eab4c |
|
670 | |/ Obsfate: rewritten as 2:fdf9bde5129a; rewritten as 4:019fadeab383; | |
|
670 | |/ Obsfate: rewritten as 2:fdf9bde5129a by test; rewritten as 4:019fadeab383 by test; | |
|
671 | 671 | o ea207398892e |
|
672 | 672 | |
|
673 | 673 | $ hg up 'desc(A1)' |
@@ -723,11 +723,11 b' Predecessors template should the predece' | |||
|
723 | 723 | o 019fadeab383 |
|
724 | 724 | | |
|
725 | 725 | | x 65b757b745b9 |
|
726 | |/ Obsfate: rewritten as 4:019fadeab383; | |
|
726 | |/ Obsfate: rewritten as 4:019fadeab383 by test; | |
|
727 | 727 | | @ fdf9bde5129a |
|
728 | 728 | |/ |
|
729 | 729 | | x 471f378eab4c |
|
730 | |/ Obsfate: rewritten as 2:fdf9bde5129a; rewritten as 3:65b757b745b9; | |
|
730 | |/ Obsfate: rewritten as 2:fdf9bde5129a by test; rewritten as 3:65b757b745b9 by test; | |
|
731 | 731 | o ea207398892e |
|
732 | 732 | |
|
733 | 733 | |
@@ -845,7 +845,7 b' Predecessors template should show curren' | |||
|
845 | 845 | o eb5a0daa2192 |
|
846 | 846 | | |
|
847 | 847 | | @ 471f378eab4c |
|
848 | |/ Obsfate: rewritten as 4:eb5a0daa2192; | |
|
848 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
849 | 849 | o ea207398892e |
|
850 | 850 | |
|
851 | 851 | $ hg up 'desc(B0)' --hidden |
@@ -873,9 +873,9 b' Predecessors template should both predec' | |||
|
873 | 873 | o eb5a0daa2192 |
|
874 | 874 | | |
|
875 | 875 | | @ 0dec01379d3b |
|
876 | | | Obsfate: rewritten as 4:eb5a0daa2192; | |
|
876 | | | Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
877 | 877 | | x 471f378eab4c |
|
878 | |/ Obsfate: rewritten as 4:eb5a0daa2192; | |
|
878 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
879 | 879 | o ea207398892e |
|
880 | 880 | |
|
881 | 881 | $ hg up 'desc(B1)' --hidden |
@@ -903,9 +903,9 b' Predecessors template should both predec' | |||
|
903 | 903 | o eb5a0daa2192 |
|
904 | 904 | | |
|
905 | 905 | | @ b7ea6d14e664 |
|
906 | | | Obsfate: rewritten as 4:eb5a0daa2192; | |
|
906 | | | Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
907 | 907 | | x 471f378eab4c |
|
908 | |/ Obsfate: rewritten as 4:eb5a0daa2192; | |
|
908 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
909 | 909 | o ea207398892e |
|
910 | 910 | |
|
911 | 911 | $ hg up 'desc(C0)' |
@@ -954,11 +954,11 b' with --hidden' | |||
|
954 | 954 | @ eb5a0daa2192 |
|
955 | 955 | | |
|
956 | 956 | | x b7ea6d14e664 |
|
957 | | | Obsfate: rewritten as 4:eb5a0daa2192; | |
|
957 | | | Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
958 | 958 | | | x 0dec01379d3b |
|
959 | | |/ Obsfate: rewritten as 3:b7ea6d14e664; | |
|
959 | | |/ Obsfate: rewritten as 3:b7ea6d14e664 by test; | |
|
960 | 960 | | x 471f378eab4c |
|
961 | |/ Obsfate: rewritten as 4:eb5a0daa2192; | |
|
961 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
|
962 | 962 | o ea207398892e |
|
963 | 963 | |
|
964 | 964 | |
@@ -1082,7 +1082,7 b' Predecessors template should show curren' | |||
|
1082 | 1082 | o 7a230b46bf61 |
|
1083 | 1083 | | |
|
1084 | 1084 | | @ 471f378eab4c |
|
1085 | |/ Obsfate: rewritten as 2:7a230b46bf61; | |
|
1085 | |/ Obsfate: rewritten as 2:7a230b46bf61 by test; | |
|
1086 | 1086 | o ea207398892e |
|
1087 | 1087 | |
|
1088 | 1088 | $ hg up 'desc(A2)' |
@@ -1119,7 +1119,7 b' with --hidden' | |||
|
1119 | 1119 | @ 7a230b46bf61 |
|
1120 | 1120 | | |
|
1121 | 1121 | | x 471f378eab4c |
|
1122 | |/ Obsfate: rewritten as 2:7a230b46bf61; | |
|
1122 | |/ Obsfate: rewritten as 2:7a230b46bf61 by test; | |
|
1123 | 1123 | o ea207398892e |
|
1124 | 1124 | |
|
1125 | 1125 | |
@@ -1194,9 +1194,9 b' Check templates' | |||
|
1194 | 1194 | o f897c6137566 |
|
1195 | 1195 | | |
|
1196 | 1196 | | @ 0dec01379d3b |
|
1197 | | | Obsfate: rewritten as 3:f897c6137566; rewritten as 1:471f378eab4c; | |
|
1197 | | | Obsfate: rewritten as 3:f897c6137566 by test; rewritten as 1:471f378eab4c by test; | |
|
1198 | 1198 | | x 471f378eab4c |
|
1199 | |/ Obsfate: rewritten as 2:0dec01379d3b; | |
|
1199 | |/ Obsfate: rewritten as 2:0dec01379d3b by test; | |
|
1200 | 1200 | o ea207398892e |
|
1201 | 1201 | |
|
1202 | 1202 | |
@@ -1452,7 +1452,7 b' Check templates' | |||
|
1452 | 1452 | | o ba2ed02b0c9a |
|
1453 | 1453 | | | |
|
1454 | 1454 | | x 4a004186e638 |
|
1455 | |/ Obsfate: rewritten as 8:b18bc8331526; rewritten as 9:0b997eb7ceee; | |
|
1455 | |/ Obsfate: rewritten as 8:b18bc8331526 by test; rewritten as 9:0b997eb7ceee by test; | |
|
1456 | 1456 | o dd800401bd8c |
|
1457 | 1457 | | |
|
1458 | 1458 | o f897c6137566 |
@@ -1525,17 +1525,17 b' Check templates' | |||
|
1525 | 1525 | | o ba2ed02b0c9a |
|
1526 | 1526 | | | |
|
1527 | 1527 | | x 4a004186e638 |
|
1528 | |/ Obsfate: rewritten as 8:b18bc8331526; rewritten as 9:0b997eb7ceee; | |
|
1528 | |/ Obsfate: rewritten as 8:b18bc8331526 by test; rewritten as 9:0b997eb7ceee by test; | |
|
1529 | 1529 | o dd800401bd8c |
|
1530 | 1530 | | |
|
1531 | 1531 | | x 9bd10a0775e4 |
|
1532 | |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a; | |
|
1532 | |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a by test; | |
|
1533 | 1533 | o f897c6137566 |
|
1534 | 1534 | | |
|
1535 | 1535 | | x 0dec01379d3b |
|
1536 | | | Obsfate: rewritten as 3:f897c6137566; rewritten as 1:471f378eab4c; | |
|
1536 | | | Obsfate: rewritten as 3:f897c6137566 by test; rewritten as 1:471f378eab4c by test; | |
|
1537 | 1537 | | x 471f378eab4c |
|
1538 | |/ Obsfate: rewritten as 2:0dec01379d3b; | |
|
1538 | |/ Obsfate: rewritten as 2:0dec01379d3b by test; | |
|
1539 | 1539 | o ea207398892e |
|
1540 | 1540 | |
|
1541 | 1541 | $ hg fatelogjson --hidden |
@@ -1604,7 +1604,7 b' Check templates' | |||
|
1604 | 1604 | o dd800401bd8c |
|
1605 | 1605 | | |
|
1606 | 1606 | | @ 9bd10a0775e4 |
|
1607 | |/ Obsfate: split as 5:dd800401bd8c, 9:0b997eb7ceee, 10:eceed8f98ffc; split as 5:dd800401bd8c, 8:b18bc8331526, 10:eceed8f98ffc; | |
|
1607 | |/ Obsfate: split as 5:dd800401bd8c, 9:0b997eb7ceee, 10:eceed8f98ffc by test; split as 5:dd800401bd8c, 8:b18bc8331526, 10:eceed8f98ffc by test; | |
|
1608 | 1608 | o f897c6137566 |
|
1609 | 1609 | | |
|
1610 | 1610 | o ea207398892e |
General Comments 0
You need to be logged in to leave comments.
Login now