460 > wccontent['untracked-revert'] = (False, wccontent['revert'][1]) |
460 > wccontent['untracked-revert'] = (False, wccontent['revert'][1]) |
461 > wccontent['untracked-wc'] = (False, wccontent['wc'][1]) |
461 > wccontent['untracked-wc'] = (False, wccontent['wc'][1]) |
462 > |
462 > |
463 > # build the combination of possible states |
463 > # build the combination of possible states |
464 > combination = [] |
464 > combination = [] |
465 > for ctxkey, ctxvalue in sorted(ctxcontent.iteritems()): |
465 > for ctxkey, ctxvalue in ctxcontent.iteritems(): |
466 > for wckey, (tracked, wcfunc) in sorted(wccontent.iteritems()): |
466 > for wckey, (tracked, wcfunc) in wccontent.iteritems(): |
467 > base, parent = ctxvalue |
467 > base, parent = ctxvalue |
468 > if (base == parent and 'revert' in wckey): |
468 > if (base == parent and 'revert' in wckey): |
469 > continue |
469 > continue |
470 > if not base and 'revert' in wckey: |
470 > if not base and 'revert' in wckey: |
471 > continue |
471 > continue |
510 > EOF |
513 > EOF |
511 |
514 |
512 check list of planned files |
515 check list of planned files |
513 |
516 |
514 $ python gen-revert-cases.py filelist |
517 $ python gen-revert-cases.py filelist |
|
518 content1_content1_content1-tracked |
|
519 content1_content1_content1-untracked |
|
520 content1_content1_content3-tracked |
|
521 content1_content1_content3-untracked |
|
522 content1_content1_missing-tracked |
|
523 content1_content1_missing-untracked |
|
524 content1_content2_content1-tracked |
|
525 content1_content2_content1-untracked |
|
526 content1_content2_content2-tracked |
|
527 content1_content2_content2-untracked |
|
528 content1_content2_content3-tracked |
|
529 content1_content2_content3-untracked |
|
530 content1_content2_missing-tracked |
|
531 content1_content2_missing-untracked |
|
532 content1_missing_content1-tracked |
|
533 content1_missing_content1-untracked |
|
534 content1_missing_content3-tracked |
|
535 content1_missing_content3-untracked |
|
536 content1_missing_missing-tracked |
|
537 content1_missing_missing-untracked |
515 missing_content2_content2-tracked |
538 missing_content2_content2-tracked |
|
539 missing_content2_content2-untracked |
|
540 missing_content2_content3-tracked |
|
541 missing_content2_content3-untracked |
516 missing_content2_missing-tracked |
542 missing_content2_missing-tracked |
517 missing_content2_content2-untracked |
|
518 missing_content2_missing-untracked |
543 missing_content2_missing-untracked |
519 missing_content2_content3-untracked |
544 missing_missing_content3-tracked |
520 missing_content2_content3-tracked |
545 missing_missing_content3-untracked |
521 content1_content1_content1-tracked |
|
522 content1_content1_missing-tracked |
|
523 content1_content1_content1-untracked |
|
524 content1_content1_missing-untracked |
|
525 content1_content1_content3-untracked |
|
526 content1_content1_content3-tracked |
|
527 missing_missing_missing-tracked |
546 missing_missing_missing-tracked |
528 missing_missing_missing-untracked |
547 missing_missing_missing-untracked |
529 missing_missing_content3-untracked |
|
530 missing_missing_content3-tracked |
|
531 content1_content2_content2-tracked |
|
532 content1_content2_missing-tracked |
|
533 content1_content2_content1-tracked |
|
534 content1_content2_content2-untracked |
|
535 content1_content2_missing-untracked |
|
536 content1_content2_content1-untracked |
|
537 content1_content2_content3-untracked |
|
538 content1_content2_content3-tracked |
|
539 content1_missing_missing-tracked |
|
540 content1_missing_content1-tracked |
|
541 content1_missing_missing-untracked |
|
542 content1_missing_content1-untracked |
|
543 content1_missing_content3-untracked |
|
544 content1_missing_content3-tracked |
|
545 |
548 |
546 Script to make a simple text version of the content |
549 Script to make a simple text version of the content |
547 --------------------------------------------------- |
550 --------------------------------------------------- |
548 |
551 |
549 $ cat << EOF >> dircontent.py |
552 $ cat << EOF >> dircontent.py |
911 $ for file in `python ../gen-revert-cases.py filelist`; do |
914 $ for file in `python ../gen-revert-cases.py filelist`; do |
912 > echo '### revert for:' $file; |
915 > echo '### revert for:' $file; |
913 > hg revert $file; |
916 > hg revert $file; |
914 > echo |
917 > echo |
915 > done |
918 > done |
|
919 ### revert for: content1_content1_content1-tracked |
|
920 no changes needed to content1_content1_content1-tracked |
|
921 |
|
922 ### revert for: content1_content1_content1-untracked |
|
923 |
|
924 ### revert for: content1_content1_content3-tracked |
|
925 |
|
926 ### revert for: content1_content1_content3-untracked |
|
927 |
|
928 ### revert for: content1_content1_missing-tracked |
|
929 |
|
930 ### revert for: content1_content1_missing-untracked |
|
931 |
|
932 ### revert for: content1_content2_content1-tracked |
|
933 |
|
934 ### revert for: content1_content2_content1-untracked |
|
935 |
|
936 ### revert for: content1_content2_content2-tracked |
|
937 no changes needed to content1_content2_content2-tracked |
|
938 |
|
939 ### revert for: content1_content2_content2-untracked |
|
940 |
|
941 ### revert for: content1_content2_content3-tracked |
|
942 |
|
943 ### revert for: content1_content2_content3-untracked |
|
944 |
|
945 ### revert for: content1_content2_missing-tracked |
|
946 |
|
947 ### revert for: content1_content2_missing-untracked |
|
948 |
|
949 ### revert for: content1_missing_content1-tracked |
|
950 |
|
951 ### revert for: content1_missing_content1-untracked |
|
952 file not managed: content1_missing_content1-untracked |
|
953 |
|
954 ### revert for: content1_missing_content3-tracked |
|
955 |
|
956 ### revert for: content1_missing_content3-untracked |
|
957 file not managed: content1_missing_content3-untracked |
|
958 |
|
959 ### revert for: content1_missing_missing-tracked |
|
960 content1_missing_missing-tracked: no such file in rev * (glob) |
|
961 |
|
962 ### revert for: content1_missing_missing-untracked |
|
963 content1_missing_missing-untracked: no such file in rev * (glob) |
|
964 |
916 ### revert for: missing_content2_content2-tracked |
965 ### revert for: missing_content2_content2-tracked |
917 no changes needed to missing_content2_content2-tracked |
966 no changes needed to missing_content2_content2-tracked |
918 |
967 |
|
968 ### revert for: missing_content2_content2-untracked |
|
969 |
|
970 ### revert for: missing_content2_content3-tracked |
|
971 |
|
972 ### revert for: missing_content2_content3-untracked |
|
973 |
919 ### revert for: missing_content2_missing-tracked |
974 ### revert for: missing_content2_missing-tracked |
920 |
975 |
921 ### revert for: missing_content2_content2-untracked |
|
922 |
|
923 ### revert for: missing_content2_missing-untracked |
976 ### revert for: missing_content2_missing-untracked |
924 |
977 |
925 ### revert for: missing_content2_content3-untracked |
978 ### revert for: missing_missing_content3-tracked |
926 |
979 |
927 ### revert for: missing_content2_content3-tracked |
980 ### revert for: missing_missing_content3-untracked |
928 |
981 file not managed: missing_missing_content3-untracked |
929 ### revert for: content1_content1_content1-tracked |
|
930 no changes needed to content1_content1_content1-tracked |
|
931 |
|
932 ### revert for: content1_content1_missing-tracked |
|
933 |
|
934 ### revert for: content1_content1_content1-untracked |
|
935 |
|
936 ### revert for: content1_content1_missing-untracked |
|
937 |
|
938 ### revert for: content1_content1_content3-untracked |
|
939 |
|
940 ### revert for: content1_content1_content3-tracked |
|
941 |
982 |
942 ### revert for: missing_missing_missing-tracked |
983 ### revert for: missing_missing_missing-tracked |
943 missing_missing_missing-tracked: no such file in rev * (glob) |
984 missing_missing_missing-tracked: no such file in rev * (glob) |
944 |
985 |
945 ### revert for: missing_missing_missing-untracked |
986 ### revert for: missing_missing_missing-untracked |
946 missing_missing_missing-untracked: no such file in rev * (glob) |
987 missing_missing_missing-untracked: no such file in rev * (glob) |
947 |
|
948 ### revert for: missing_missing_content3-untracked |
|
949 file not managed: missing_missing_content3-untracked |
|
950 |
|
951 ### revert for: missing_missing_content3-tracked |
|
952 |
|
953 ### revert for: content1_content2_content2-tracked |
|
954 no changes needed to content1_content2_content2-tracked |
|
955 |
|
956 ### revert for: content1_content2_missing-tracked |
|
957 |
|
958 ### revert for: content1_content2_content1-tracked |
|
959 |
|
960 ### revert for: content1_content2_content2-untracked |
|
961 |
|
962 ### revert for: content1_content2_missing-untracked |
|
963 |
|
964 ### revert for: content1_content2_content1-untracked |
|
965 |
|
966 ### revert for: content1_content2_content3-untracked |
|
967 |
|
968 ### revert for: content1_content2_content3-tracked |
|
969 |
|
970 ### revert for: content1_missing_missing-tracked |
|
971 content1_missing_missing-tracked: no such file in rev * (glob) |
|
972 |
|
973 ### revert for: content1_missing_content1-tracked |
|
974 |
|
975 ### revert for: content1_missing_missing-untracked |
|
976 content1_missing_missing-untracked: no such file in rev * (glob) |
|
977 |
|
978 ### revert for: content1_missing_content1-untracked |
|
979 file not managed: content1_missing_content1-untracked |
|
980 |
|
981 ### revert for: content1_missing_content3-untracked |
|
982 file not managed: content1_missing_content3-untracked |
|
983 |
|
984 ### revert for: content1_missing_content3-tracked |
|
985 |
988 |
986 |
989 |
987 check resulting directory against the --all run |
990 check resulting directory against the --all run |
988 (There should be no difference) |
991 (There should be no difference) |
989 |
992 |
1006 $ for file in `python ../gen-revert-cases.py filelist`; do |
1009 $ for file in `python ../gen-revert-cases.py filelist`; do |
1007 > echo '### revert for:' $file; |
1010 > echo '### revert for:' $file; |
1008 > hg revert $file --rev 'desc(base)'; |
1011 > hg revert $file --rev 'desc(base)'; |
1009 > echo |
1012 > echo |
1010 > done |
1013 > done |
|
1014 ### revert for: content1_content1_content1-tracked |
|
1015 no changes needed to content1_content1_content1-tracked |
|
1016 |
|
1017 ### revert for: content1_content1_content1-untracked |
|
1018 |
|
1019 ### revert for: content1_content1_content3-tracked |
|
1020 |
|
1021 ### revert for: content1_content1_content3-untracked |
|
1022 |
|
1023 ### revert for: content1_content1_missing-tracked |
|
1024 |
|
1025 ### revert for: content1_content1_missing-untracked |
|
1026 |
|
1027 ### revert for: content1_content2_content1-tracked |
|
1028 no changes needed to content1_content2_content1-tracked |
|
1029 |
|
1030 ### revert for: content1_content2_content1-untracked |
|
1031 |
|
1032 ### revert for: content1_content2_content2-tracked |
|
1033 |
|
1034 ### revert for: content1_content2_content2-untracked |
|
1035 |
|
1036 ### revert for: content1_content2_content3-tracked |
|
1037 |
|
1038 ### revert for: content1_content2_content3-untracked |
|
1039 |
|
1040 ### revert for: content1_content2_missing-tracked |
|
1041 |
|
1042 ### revert for: content1_content2_missing-untracked |
|
1043 |
|
1044 ### revert for: content1_missing_content1-tracked |
|
1045 no changes needed to content1_missing_content1-tracked |
|
1046 |
|
1047 ### revert for: content1_missing_content1-untracked |
|
1048 |
|
1049 ### revert for: content1_missing_content3-tracked |
|
1050 |
|
1051 ### revert for: content1_missing_content3-untracked |
|
1052 |
|
1053 ### revert for: content1_missing_missing-tracked |
|
1054 |
|
1055 ### revert for: content1_missing_missing-untracked |
|
1056 |
1011 ### revert for: missing_content2_content2-tracked |
1057 ### revert for: missing_content2_content2-tracked |
1012 |
|
1013 ### revert for: missing_content2_missing-tracked |
|
1014 |
1058 |
1015 ### revert for: missing_content2_content2-untracked |
1059 ### revert for: missing_content2_content2-untracked |
1016 no changes needed to missing_content2_content2-untracked |
1060 no changes needed to missing_content2_content2-untracked |
1017 |
1061 |
|
1062 ### revert for: missing_content2_content3-tracked |
|
1063 |
|
1064 ### revert for: missing_content2_content3-untracked |
|
1065 no changes needed to missing_content2_content3-untracked |
|
1066 |
|
1067 ### revert for: missing_content2_missing-tracked |
|
1068 |
1018 ### revert for: missing_content2_missing-untracked |
1069 ### revert for: missing_content2_missing-untracked |
1019 no changes needed to missing_content2_missing-untracked |
1070 no changes needed to missing_content2_missing-untracked |
1020 |
1071 |
1021 ### revert for: missing_content2_content3-untracked |
1072 ### revert for: missing_missing_content3-tracked |
1022 no changes needed to missing_content2_content3-untracked |
1073 |
1023 |
1074 ### revert for: missing_missing_content3-untracked |
1024 ### revert for: missing_content2_content3-tracked |
1075 file not managed: missing_missing_content3-untracked |
1025 |
|
1026 ### revert for: content1_content1_content1-tracked |
|
1027 no changes needed to content1_content1_content1-tracked |
|
1028 |
|
1029 ### revert for: content1_content1_missing-tracked |
|
1030 |
|
1031 ### revert for: content1_content1_content1-untracked |
|
1032 |
|
1033 ### revert for: content1_content1_missing-untracked |
|
1034 |
|
1035 ### revert for: content1_content1_content3-untracked |
|
1036 |
|
1037 ### revert for: content1_content1_content3-tracked |
|
1038 |
1076 |
1039 ### revert for: missing_missing_missing-tracked |
1077 ### revert for: missing_missing_missing-tracked |
1040 missing_missing_missing-tracked: no such file in rev * (glob) |
1078 missing_missing_missing-tracked: no such file in rev * (glob) |
1041 |
1079 |
1042 ### revert for: missing_missing_missing-untracked |
1080 ### revert for: missing_missing_missing-untracked |
1043 missing_missing_missing-untracked: no such file in rev * (glob) |
1081 missing_missing_missing-untracked: no such file in rev * (glob) |
1044 |
|
1045 ### revert for: missing_missing_content3-untracked |
|
1046 file not managed: missing_missing_content3-untracked |
|
1047 |
|
1048 ### revert for: missing_missing_content3-tracked |
|
1049 |
|
1050 ### revert for: content1_content2_content2-tracked |
|
1051 |
|
1052 ### revert for: content1_content2_missing-tracked |
|
1053 |
|
1054 ### revert for: content1_content2_content1-tracked |
|
1055 no changes needed to content1_content2_content1-tracked |
|
1056 |
|
1057 ### revert for: content1_content2_content2-untracked |
|
1058 |
|
1059 ### revert for: content1_content2_missing-untracked |
|
1060 |
|
1061 ### revert for: content1_content2_content1-untracked |
|
1062 |
|
1063 ### revert for: content1_content2_content3-untracked |
|
1064 |
|
1065 ### revert for: content1_content2_content3-tracked |
|
1066 |
|
1067 ### revert for: content1_missing_missing-tracked |
|
1068 |
|
1069 ### revert for: content1_missing_content1-tracked |
|
1070 no changes needed to content1_missing_content1-tracked |
|
1071 |
|
1072 ### revert for: content1_missing_missing-untracked |
|
1073 |
|
1074 ### revert for: content1_missing_content1-untracked |
|
1075 |
|
1076 ### revert for: content1_missing_content3-untracked |
|
1077 |
|
1078 ### revert for: content1_missing_content3-tracked |
|
1079 |
1082 |
1080 |
1083 |
1081 check resulting directory against the --all run |
1084 check resulting directory against the --all run |
1082 (There should be no difference) |
1085 (There should be no difference) |
1083 |
1086 |