tests/test-revert.t
changeset 23160 4f4e6815f286
parent 23159 20d3e2d73432
child 23161 6f31f46b8544
equal deleted inserted replaced
23159:20d3e2d73432 23160:4f4e6815f286
   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
   478   >         filename = "%s_%s_%s-%s" % (statestring(base),
   478   >         filename = "%s_%s_%s-%s" % (statestring(base),
   479   >                                     statestring(parent),
   479   >                                     statestring(parent),
   480   >                                     statestring(wcc),
   480   >                                     statestring(wcc),
   481   >                                     trackedstring)
   481   >                                     trackedstring)
   482   >         combination.append((filename, base, parent, wcc))
   482   >         combination.append((filename, base, parent, wcc))
       
   483   > 
       
   484   > # make sure we have stable output
       
   485   > combination.sort()
   483   > 
   486   > 
   484   > # retrieve the state we must generate
   487   > # retrieve the state we must generate
   485   > target = sys.argv[1]
   488   > target = sys.argv[1]
   486   > 
   489   > 
   487   > # compute file content
   490   > # compute file content
   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