Show More
@@ -601,3 +601,11 b' def successorsetverb(successorset):' | |||||
601 | else: |
|
601 | else: | |
602 | verb = 'split' |
|
602 | verb = 'split' | |
603 | return verb |
|
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 | func = lambda a, b: a % b |
|
850 | func = lambda a, b: a % b | |
851 | return runarithmetic(context, mapping, (func, args[0], args[1])) |
|
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 | @templatefunc('obsfateverb(successors)') |
|
871 | @templatefunc('obsfateverb(successors)') | |
854 | def obsfateverb(context, mapping, args): |
|
872 | def obsfateverb(context, mapping, args): | |
855 | """Compute obsfate related information based on successors (EXPERIMENTAL)""" |
|
873 | """Compute obsfate related information based on successors (EXPERIMENTAL)""" |
@@ -14,7 +14,8 b' Global setup' | |||||
14 | > [templates] |
|
14 | > [templates] | |
15 | > obsfatesuccessors = " as {join(successors, ", ")}" |
|
15 | > obsfatesuccessors = " as {join(successors, ", ")}" | |
16 | > obsfateverb = "{obsfateverb(successors)}" |
|
16 | > obsfateverb = "{obsfateverb(successors)}" | |
17 | > obsfate = "{obsfateverb}{obsfatesuccessors}; " |
|
17 | > obsfateusers = "{if(obsfateusers(markers), " by {join(obsfateusers(markers), ", ")}")}" | |
|
18 | > obsfate = "{obsfateverb}{obsfatesuccessors}{obsfateusers}; " | |||
18 | > [alias] |
|
19 | > [alias] | |
19 | > tlog = log -G -T '{node|short}\ |
|
20 | > tlog = log -G -T '{node|short}\ | |
20 | > {if(predecessors, "\n Predecessors: {predecessors}")}\ |
|
21 | > {if(predecessors, "\n Predecessors: {predecessors}")}\ | |
@@ -93,21 +94,21 b' Predecessors template should show curren' | |||||
93 | o d004c8f274b9 |
|
94 | o d004c8f274b9 | |
94 | | |
|
95 | | | |
95 | | @ 471f378eab4c |
|
96 | | @ 471f378eab4c | |
96 | |/ Obsfate: rewritten as 4:d004c8f274b9; |
|
97 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test1, test2; | |
97 | o ea207398892e |
|
98 | o ea207398892e | |
98 |
|
99 | |||
99 | $ hg fatelog |
|
100 | $ hg fatelog | |
100 | o d004c8f274b9 |
|
101 | o d004c8f274b9 | |
101 | | |
|
102 | | | |
102 | | @ 471f378eab4c |
|
103 | | @ 471f378eab4c | |
103 | |/ Obsfate: rewritten as 4:d004c8f274b9; |
|
104 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test1, test2; | |
104 | o ea207398892e |
|
105 | o ea207398892e | |
105 |
|
106 | |||
106 | $ hg fatelog -v |
|
107 | $ hg fatelog -v | |
107 | o d004c8f274b9 |
|
108 | o d004c8f274b9 | |
108 | | |
|
109 | | | |
109 | | @ 471f378eab4c |
|
110 | | @ 471f378eab4c | |
110 | |/ Obsfate: rewritten as 4:d004c8f274b9; |
|
111 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test1, test2; | |
111 | o ea207398892e |
|
112 | o ea207398892e | |
112 |
|
113 | |||
113 | $ hg up 'desc(A1)' --hidden |
|
114 | $ hg up 'desc(A1)' --hidden | |
@@ -130,7 +131,7 b' Predecessors template should show curren' | |||||
130 | o d004c8f274b9 |
|
131 | o d004c8f274b9 | |
131 | | |
|
132 | | | |
132 | | @ a468dc9b3633 |
|
133 | | @ a468dc9b3633 | |
133 | |/ Obsfate: rewritten as 4:d004c8f274b9; |
|
134 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test2; | |
134 | o ea207398892e |
|
135 | o ea207398892e | |
135 |
|
136 | |||
136 | Predecessors template should show all the predecessors as we force their display |
|
137 | Predecessors template should show all the predecessors as we force their display | |
@@ -161,11 +162,11 b' with --hidden' | |||||
161 | o d004c8f274b9 |
|
162 | o d004c8f274b9 | |
162 | | |
|
163 | | | |
163 | | @ a468dc9b3633 |
|
164 | | @ a468dc9b3633 | |
164 | |/ Obsfate: rewritten as 4:d004c8f274b9; |
|
165 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test2; | |
165 | | x f137d23bb3e1 |
|
166 | | x f137d23bb3e1 | |
166 | | | |
|
167 | | | | |
167 | | x 471f378eab4c |
|
168 | | x 471f378eab4c | |
168 | |/ Obsfate: rewritten as 3:a468dc9b3633; |
|
169 | |/ Obsfate: rewritten as 3:a468dc9b3633 by test1; | |
169 | o ea207398892e |
|
170 | o ea207398892e | |
170 |
|
171 | |||
171 |
|
172 | |||
@@ -210,14 +211,13 b' visible.' | |||||
210 | @ d004c8f274b9 |
|
211 | @ d004c8f274b9 | |
211 | | |
|
212 | | | |
212 | | x a468dc9b3633 |
|
213 | | x a468dc9b3633 | |
213 | |/ Obsfate: rewritten as 4:d004c8f274b9; |
|
214 | |/ Obsfate: rewritten as 4:d004c8f274b9 by test2; | |
214 | | x f137d23bb3e1 |
|
215 | | x f137d23bb3e1 | |
215 | | | |
|
216 | | | | |
216 | | x 471f378eab4c |
|
217 | | x 471f378eab4c | |
217 | |/ Obsfate: rewritten as 3:a468dc9b3633; |
|
218 | |/ Obsfate: rewritten as 3:a468dc9b3633 by test1; | |
218 | o ea207398892e |
|
219 | o ea207398892e | |
219 |
|
220 | |||
220 |
|
||||
221 | $ hg fatelogjson --hidden |
|
221 | $ hg fatelogjson --hidden | |
222 | @ d004c8f274b9 |
|
222 | @ d004c8f274b9 | |
223 | | |
|
223 | | | |
@@ -319,7 +319,7 b' Predecessors template should show curren' | |||||
319 | o 337fec4d2edc |
|
319 | o 337fec4d2edc | |
320 | | |
|
320 | | | |
321 | | @ 471597cad322 |
|
321 | | @ 471597cad322 | |
322 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a; |
|
322 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test; | |
323 | o ea207398892e |
|
323 | o ea207398892e | |
324 |
|
324 | |||
325 | $ hg up f257fde29c7a |
|
325 | $ hg up f257fde29c7a | |
@@ -360,7 +360,7 b' with --hidden' | |||||
360 | o 337fec4d2edc |
|
360 | o 337fec4d2edc | |
361 | | |
|
361 | | | |
362 | | x 471597cad322 |
|
362 | | x 471597cad322 | |
363 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a; |
|
363 | |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test; | |
364 | o ea207398892e |
|
364 | o ea207398892e | |
365 |
|
365 | |||
366 | $ hg fatelogjson --hidden |
|
366 | $ hg fatelogjson --hidden | |
@@ -461,7 +461,7 b' Predecessors template should show curren' | |||||
461 | o eb5a0daa2192 |
|
461 | o eb5a0daa2192 | |
462 | | |
|
462 | | | |
463 | | @ 471f378eab4c |
|
463 | | @ 471f378eab4c | |
464 | |/ Obsfate: rewritten as 3:eb5a0daa2192; |
|
464 | |/ Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
465 | o ea207398892e |
|
465 | o ea207398892e | |
466 |
|
466 | |||
467 | $ hg up 'desc(B0)' --hidden |
|
467 | $ hg up 'desc(B0)' --hidden | |
@@ -490,9 +490,9 b' displayed' | |||||
490 | o eb5a0daa2192 |
|
490 | o eb5a0daa2192 | |
491 | | |
|
491 | | | |
492 | | @ 0dec01379d3b |
|
492 | | @ 0dec01379d3b | |
493 | | | Obsfate: rewritten as 3:eb5a0daa2192; |
|
493 | | | Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
494 | | x 471f378eab4c |
|
494 | | x 471f378eab4c | |
495 | |/ Obsfate: rewritten as 3:eb5a0daa2192; |
|
495 | |/ Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
496 | o ea207398892e |
|
496 | o ea207398892e | |
497 |
|
497 | |||
498 | $ hg up 'desc(C0)' |
|
498 | $ hg up 'desc(C0)' | |
@@ -528,9 +528,9 b' with --hidden' | |||||
528 | @ eb5a0daa2192 |
|
528 | @ eb5a0daa2192 | |
529 | | |
|
529 | | | |
530 | | x 0dec01379d3b |
|
530 | | x 0dec01379d3b | |
531 | | | Obsfate: rewritten as 3:eb5a0daa2192; |
|
531 | | | Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
532 | | x 471f378eab4c |
|
532 | | x 471f378eab4c | |
533 | |/ Obsfate: rewritten as 3:eb5a0daa2192; |
|
533 | |/ Obsfate: rewritten as 3:eb5a0daa2192 by test; | |
534 | o ea207398892e |
|
534 | o ea207398892e | |
535 |
|
535 | |||
536 |
|
536 | |||
@@ -667,7 +667,7 b' Predecessors template should show curren' | |||||
667 | | o fdf9bde5129a |
|
667 | | o fdf9bde5129a | |
668 | |/ |
|
668 | |/ | |
669 | | @ 471f378eab4c |
|
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 | o ea207398892e |
|
671 | o ea207398892e | |
672 |
|
672 | |||
673 | $ hg up 'desc(A1)' |
|
673 | $ hg up 'desc(A1)' | |
@@ -723,11 +723,11 b' Predecessors template should the predece' | |||||
723 | o 019fadeab383 |
|
723 | o 019fadeab383 | |
724 | | |
|
724 | | | |
725 | | x 65b757b745b9 |
|
725 | | x 65b757b745b9 | |
726 | |/ Obsfate: rewritten as 4:019fadeab383; |
|
726 | |/ Obsfate: rewritten as 4:019fadeab383 by test; | |
727 | | @ fdf9bde5129a |
|
727 | | @ fdf9bde5129a | |
728 | |/ |
|
728 | |/ | |
729 | | x 471f378eab4c |
|
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 | o ea207398892e |
|
731 | o ea207398892e | |
732 |
|
732 | |||
733 |
|
733 | |||
@@ -845,7 +845,7 b' Predecessors template should show curren' | |||||
845 | o eb5a0daa2192 |
|
845 | o eb5a0daa2192 | |
846 | | |
|
846 | | | |
847 | | @ 471f378eab4c |
|
847 | | @ 471f378eab4c | |
848 | |/ Obsfate: rewritten as 4:eb5a0daa2192; |
|
848 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
849 | o ea207398892e |
|
849 | o ea207398892e | |
850 |
|
850 | |||
851 | $ hg up 'desc(B0)' --hidden |
|
851 | $ hg up 'desc(B0)' --hidden | |
@@ -873,9 +873,9 b' Predecessors template should both predec' | |||||
873 | o eb5a0daa2192 |
|
873 | o eb5a0daa2192 | |
874 | | |
|
874 | | | |
875 | | @ 0dec01379d3b |
|
875 | | @ 0dec01379d3b | |
876 | | | Obsfate: rewritten as 4:eb5a0daa2192; |
|
876 | | | Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
877 | | x 471f378eab4c |
|
877 | | x 471f378eab4c | |
878 | |/ Obsfate: rewritten as 4:eb5a0daa2192; |
|
878 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
879 | o ea207398892e |
|
879 | o ea207398892e | |
880 |
|
880 | |||
881 | $ hg up 'desc(B1)' --hidden |
|
881 | $ hg up 'desc(B1)' --hidden | |
@@ -903,9 +903,9 b' Predecessors template should both predec' | |||||
903 | o eb5a0daa2192 |
|
903 | o eb5a0daa2192 | |
904 | | |
|
904 | | | |
905 | | @ b7ea6d14e664 |
|
905 | | @ b7ea6d14e664 | |
906 | | | Obsfate: rewritten as 4:eb5a0daa2192; |
|
906 | | | Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
907 | | x 471f378eab4c |
|
907 | | x 471f378eab4c | |
908 | |/ Obsfate: rewritten as 4:eb5a0daa2192; |
|
908 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
909 | o ea207398892e |
|
909 | o ea207398892e | |
910 |
|
910 | |||
911 | $ hg up 'desc(C0)' |
|
911 | $ hg up 'desc(C0)' | |
@@ -954,11 +954,11 b' with --hidden' | |||||
954 | @ eb5a0daa2192 |
|
954 | @ eb5a0daa2192 | |
955 | | |
|
955 | | | |
956 | | x b7ea6d14e664 |
|
956 | | x b7ea6d14e664 | |
957 | | | Obsfate: rewritten as 4:eb5a0daa2192; |
|
957 | | | Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
958 | | | x 0dec01379d3b |
|
958 | | | x 0dec01379d3b | |
959 | | |/ Obsfate: rewritten as 3:b7ea6d14e664; |
|
959 | | |/ Obsfate: rewritten as 3:b7ea6d14e664 by test; | |
960 | | x 471f378eab4c |
|
960 | | x 471f378eab4c | |
961 | |/ Obsfate: rewritten as 4:eb5a0daa2192; |
|
961 | |/ Obsfate: rewritten as 4:eb5a0daa2192 by test; | |
962 | o ea207398892e |
|
962 | o ea207398892e | |
963 |
|
963 | |||
964 |
|
964 | |||
@@ -1082,7 +1082,7 b' Predecessors template should show curren' | |||||
1082 | o 7a230b46bf61 |
|
1082 | o 7a230b46bf61 | |
1083 | | |
|
1083 | | | |
1084 | | @ 471f378eab4c |
|
1084 | | @ 471f378eab4c | |
1085 | |/ Obsfate: rewritten as 2:7a230b46bf61; |
|
1085 | |/ Obsfate: rewritten as 2:7a230b46bf61 by test; | |
1086 | o ea207398892e |
|
1086 | o ea207398892e | |
1087 |
|
1087 | |||
1088 | $ hg up 'desc(A2)' |
|
1088 | $ hg up 'desc(A2)' | |
@@ -1119,7 +1119,7 b' with --hidden' | |||||
1119 | @ 7a230b46bf61 |
|
1119 | @ 7a230b46bf61 | |
1120 | | |
|
1120 | | | |
1121 | | x 471f378eab4c |
|
1121 | | x 471f378eab4c | |
1122 | |/ Obsfate: rewritten as 2:7a230b46bf61; |
|
1122 | |/ Obsfate: rewritten as 2:7a230b46bf61 by test; | |
1123 | o ea207398892e |
|
1123 | o ea207398892e | |
1124 |
|
1124 | |||
1125 |
|
1125 | |||
@@ -1194,9 +1194,9 b' Check templates' | |||||
1194 | o f897c6137566 |
|
1194 | o f897c6137566 | |
1195 | | |
|
1195 | | | |
1196 | | @ 0dec01379d3b |
|
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 | | x 471f378eab4c |
|
1198 | | x 471f378eab4c | |
1199 | |/ Obsfate: rewritten as 2:0dec01379d3b; |
|
1199 | |/ Obsfate: rewritten as 2:0dec01379d3b by test; | |
1200 | o ea207398892e |
|
1200 | o ea207398892e | |
1201 |
|
1201 | |||
1202 |
|
1202 | |||
@@ -1452,7 +1452,7 b' Check templates' | |||||
1452 | | o ba2ed02b0c9a |
|
1452 | | o ba2ed02b0c9a | |
1453 | | | |
|
1453 | | | | |
1454 | | x 4a004186e638 |
|
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 | o dd800401bd8c |
|
1456 | o dd800401bd8c | |
1457 | | |
|
1457 | | | |
1458 | o f897c6137566 |
|
1458 | o f897c6137566 | |
@@ -1525,17 +1525,17 b' Check templates' | |||||
1525 | | o ba2ed02b0c9a |
|
1525 | | o ba2ed02b0c9a | |
1526 | | | |
|
1526 | | | | |
1527 | | x 4a004186e638 |
|
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 | o dd800401bd8c |
|
1529 | o dd800401bd8c | |
1530 | | |
|
1530 | | | |
1531 | | x 9bd10a0775e4 |
|
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 | o f897c6137566 |
|
1533 | o f897c6137566 | |
1534 | | |
|
1534 | | | |
1535 | | x 0dec01379d3b |
|
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 | | x 471f378eab4c |
|
1537 | | x 471f378eab4c | |
1538 | |/ Obsfate: rewritten as 2:0dec01379d3b; |
|
1538 | |/ Obsfate: rewritten as 2:0dec01379d3b by test; | |
1539 | o ea207398892e |
|
1539 | o ea207398892e | |
1540 |
|
1540 | |||
1541 | $ hg fatelogjson --hidden |
|
1541 | $ hg fatelogjson --hidden | |
@@ -1604,7 +1604,7 b' Check templates' | |||||
1604 | o dd800401bd8c |
|
1604 | o dd800401bd8c | |
1605 | | |
|
1605 | | | |
1606 | | @ 9bd10a0775e4 |
|
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 | o f897c6137566 |
|
1608 | o f897c6137566 | |
1609 | | |
|
1609 | | | |
1610 | o ea207398892e |
|
1610 | o ea207398892e |
General Comments 0
You need to be logged in to leave comments.
Login now