tests/test-contrib.t
changeset 14032 d98af1420930
parent 14031 bc61a4b46734
child 14033 33e04d3d17f6
equal deleted inserted replaced
14031:bc61a4b46734 14032:d98af1420930
   101   comparing with repo-c
   101   comparing with repo-c
   102   searching for changes
   102   searching for changes
   103   no changes found
   103   no changes found
   104   [1]
   104   [1]
   105 
   105 
       
   106 
       
   107 Test simplemerge command:
       
   108 
       
   109   $ cp "$CONTRIBDIR/simplemerge" .
       
   110   $ echo base > base
       
   111   $ echo local > local
       
   112   $ cat base >> local
       
   113   $ cp local orig
       
   114   $ cat base > other
       
   115   $ echo other >> other
       
   116 
       
   117 changing local directly
       
   118 
       
   119   $ python simplemerge local base other && echo "merge succeeded"
       
   120   merge succeeded
       
   121   $ cat local
       
   122   local
       
   123   base
       
   124   other
       
   125   $ cp orig local
       
   126 
       
   127 printing to stdout
       
   128 
       
   129   $ python simplemerge -p local base other
       
   130   local
       
   131   base
       
   132   other
       
   133 
       
   134 local:
       
   135 
       
   136   $ cat local
       
   137   local
       
   138   base
       
   139 
       
   140 conflicts
       
   141 
       
   142   $ cp base conflict-local
       
   143   $ cp other conflict-other
       
   144   $ echo not other >> conflict-local
       
   145   $ echo end >> conflict-local
       
   146   $ echo end >> conflict-other
       
   147   $ python simplemerge -p conflict-local base conflict-other
       
   148   base
       
   149   <<<<<<< conflict-local
       
   150   not other
       
   151   =======
       
   152   other
       
   153   >>>>>>> conflict-other
       
   154   end
       
   155   warning: conflicts during merge.
       
   156   [1]
       
   157 
       
   158 --no-minimal
       
   159 
       
   160   $ python simplemerge -p --no-minimal conflict-local base conflict-other
       
   161   base
       
   162   <<<<<<< conflict-local
       
   163   not other
       
   164   end
       
   165   =======
       
   166   other
       
   167   end
       
   168   >>>>>>> conflict-other
       
   169   warning: conflicts during merge.
       
   170   [1]
       
   171 
       
   172 1 label
       
   173 
       
   174   $ python simplemerge -p -L foo conflict-local base conflict-other
       
   175   base
       
   176   <<<<<<< foo
       
   177   not other
       
   178   =======
       
   179   other
       
   180   >>>>>>> conflict-other
       
   181   end
       
   182   warning: conflicts during merge.
       
   183   [1]
       
   184 
       
   185 2 labels
       
   186 
       
   187   $ python simplemerge -p -L foo -L bar conflict-local base conflict-other
       
   188   base
       
   189   <<<<<<< foo
       
   190   not other
       
   191   =======
       
   192   other
       
   193   >>>>>>> bar
       
   194   end
       
   195   warning: conflicts during merge.
       
   196   [1]
       
   197 
       
   198 too many labels
       
   199 
       
   200   $ python simplemerge -p -L foo -L bar -L baz conflict-local base conflict-other
       
   201   abort: can only specify two labels.
       
   202   [255]
       
   203 
       
   204 binary file
       
   205 
       
   206   $ python -c "f = file('binary-local', 'w'); f.write('\x00'); f.close()"
       
   207   $ cat orig >> binary-local
       
   208   $ python simplemerge -p binary-local base other
       
   209   abort: binary-local looks like a binary file.
       
   210   [255]
       
   211 
       
   212 binary file --text
       
   213 
       
   214   $ python simplemerge -a -p binary-local base other 2>&1
       
   215   warning: binary-local looks like a binary file.
       
   216   \x00local (esc)
       
   217   base
       
   218   other
       
   219 
       
   220 help
       
   221 
       
   222   $ python simplemerge --help
       
   223   simplemerge [OPTS] LOCAL BASE OTHER
       
   224   
       
   225       Simple three-way file merge utility with a minimal feature set.
       
   226   
       
   227       Apply to LOCAL the changes necessary to go from BASE to OTHER.
       
   228   
       
   229       By default, LOCAL is overwritten with the results of this operation.
       
   230   
       
   231   options:
       
   232    -L --label       labels to use on conflict markers
       
   233    -a --text        treat all files as text
       
   234    -p --print       print results instead of overwriting LOCAL
       
   235       --no-minimal  do not try to minimize conflict regions
       
   236    -h --help        display help and exit
       
   237    -q --quiet       suppress output
       
   238 
       
   239 wrong number of arguments
       
   240 
       
   241   $ python simplemerge
       
   242   simplemerge: wrong number of arguments
       
   243   simplemerge [OPTS] LOCAL BASE OTHER
       
   244   
       
   245       Simple three-way file merge utility with a minimal feature set.
       
   246   
       
   247       Apply to LOCAL the changes necessary to go from BASE to OTHER.
       
   248   
       
   249       By default, LOCAL is overwritten with the results of this operation.
       
   250   
       
   251   options:
       
   252    -L --label       labels to use on conflict markers
       
   253    -a --text        treat all files as text
       
   254    -p --print       print results instead of overwriting LOCAL
       
   255       --no-minimal  do not try to minimize conflict regions
       
   256    -h --help        display help and exit
       
   257    -q --quiet       suppress output
       
   258   [1]
       
   259 
       
   260 bad option
       
   261 
       
   262   $ python simplemerge --foo -p local base other
       
   263   simplemerge: option --foo not recognized
       
   264   simplemerge [OPTS] LOCAL BASE OTHER
       
   265   
       
   266       Simple three-way file merge utility with a minimal feature set.
       
   267   
       
   268       Apply to LOCAL the changes necessary to go from BASE to OTHER.
       
   269   
       
   270       By default, LOCAL is overwritten with the results of this operation.
       
   271   
       
   272   options:
       
   273    -L --label       labels to use on conflict markers
       
   274    -a --text        treat all files as text
       
   275    -p --print       print results instead of overwriting LOCAL
       
   276       --no-minimal  do not try to minimize conflict regions
       
   277    -h --help        display help and exit
       
   278    -q --quiet       suppress output
       
   279   [1]