tests/test-contrib.t
changeset 33262 8e6f4939a69a
parent 28072 c3e9269d9602
child 34661 eb586ed5d8ce
equal deleted inserted replaced
33261:be49f3fdcd10 33262:8e6f4939a69a
    24   checking files
    24   checking files
    25   1 files, 3 changesets, 3 total revisions
    25   1 files, 3 changesets, 3 total revisions
    26 
    26 
    27 Dumping revlog of file a to stdout:
    27 Dumping revlog of file a to stdout:
    28 
    28 
    29   $ python "$CONTRIBDIR/dumprevlog" .hg/store/data/a.i
    29   $ $PYTHON "$CONTRIBDIR/dumprevlog" .hg/store/data/a.i
    30   file: .hg/store/data/a.i
    30   file: .hg/store/data/a.i
    31   node: 183d2312b35066fb6b3b449b84efc370d50993d0
    31   node: 183d2312b35066fb6b3b449b84efc370d50993d0
    32   linkrev: 0
    32   linkrev: 0
    33   parents: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
    33   parents: 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
    34   length: 15
    34   length: 15
    56   
    56   
    57   -end-
    57   -end-
    58 
    58 
    59 Dump all revlogs to file repo.dump:
    59 Dump all revlogs to file repo.dump:
    60 
    60 
    61   $ find .hg/store -name "*.i" | sort | xargs python "$CONTRIBDIR/dumprevlog" > ../repo.dump
    61   $ find .hg/store -name "*.i" | sort | xargs $PYTHON "$CONTRIBDIR/dumprevlog" > ../repo.dump
    62   $ cd ..
    62   $ cd ..
    63 
    63 
    64 Undumping into repo-b:
    64 Undumping into repo-b:
    65 
    65 
    66   $ hg init repo-b
    66   $ hg init repo-b
    67   $ cd repo-b
    67   $ cd repo-b
    68   $ python "$CONTRIBDIR/undumprevlog" < ../repo.dump
    68   $ $PYTHON "$CONTRIBDIR/undumprevlog" < ../repo.dump
    69   .hg/store/00changelog.i
    69   .hg/store/00changelog.i
    70   .hg/store/00manifest.i
    70   .hg/store/00manifest.i
    71   .hg/store/data/a.i
    71   .hg/store/data/a.i
    72   $ cd ..
    72   $ cd ..
    73 
    73 
   113   $ cat base > other
   113   $ cat base > other
   114   $ echo other >> other
   114   $ echo other >> other
   115 
   115 
   116 changing local directly
   116 changing local directly
   117 
   117 
   118   $ python simplemerge local base other && echo "merge succeeded"
   118   $ $PYTHON simplemerge local base other && echo "merge succeeded"
   119   merge succeeded
   119   merge succeeded
   120   $ cat local
   120   $ cat local
   121   local
   121   local
   122   base
   122   base
   123   other
   123   other
   124   $ cp orig local
   124   $ cp orig local
   125 
   125 
   126 printing to stdout
   126 printing to stdout
   127 
   127 
   128   $ python simplemerge -p local base other
   128   $ $PYTHON simplemerge -p local base other
   129   local
   129   local
   130   base
   130   base
   131   other
   131   other
   132 
   132 
   133 local:
   133 local:
   142   $ cp other conflict-other
   142   $ cp other conflict-other
   143   $ echo not other >> conflict-local
   143   $ echo not other >> conflict-local
   144   $ echo end >> conflict-local
   144   $ echo end >> conflict-local
   145   $ echo end >> conflict-other
   145   $ echo end >> conflict-other
   146 
   146 
   147   $ python simplemerge -p conflict-local base conflict-other
   147   $ $PYTHON simplemerge -p conflict-local base conflict-other
   148   base
   148   base
   149   <<<<<<< conflict-local
   149   <<<<<<< conflict-local
   150   not other
   150   not other
   151   =======
   151   =======
   152   other
   152   other
   154   end
   154   end
   155   [1]
   155   [1]
   156 
   156 
   157 1 label
   157 1 label
   158 
   158 
   159   $ python simplemerge -p -L foo conflict-local base conflict-other
   159   $ $PYTHON simplemerge -p -L foo conflict-local base conflict-other
   160   base
   160   base
   161   <<<<<<< foo
   161   <<<<<<< foo
   162   not other
   162   not other
   163   =======
   163   =======
   164   other
   164   other
   166   end
   166   end
   167   [1]
   167   [1]
   168 
   168 
   169 2 labels
   169 2 labels
   170 
   170 
   171   $ python simplemerge -p -L foo -L bar conflict-local base conflict-other
   171   $ $PYTHON simplemerge -p -L foo -L bar conflict-local base conflict-other
   172   base
   172   base
   173   <<<<<<< foo
   173   <<<<<<< foo
   174   not other
   174   not other
   175   =======
   175   =======
   176   other
   176   other
   178   end
   178   end
   179   [1]
   179   [1]
   180 
   180 
   181 3 labels
   181 3 labels
   182 
   182 
   183   $ python simplemerge -p -L foo -L bar -L base conflict-local base conflict-other
   183   $ $PYTHON simplemerge -p -L foo -L bar -L base conflict-local base conflict-other
   184   base
   184   base
   185   <<<<<<< foo
   185   <<<<<<< foo
   186   not other
   186   not other
   187   end
   187   end
   188   ||||||| base
   188   ||||||| base
   192   >>>>>>> bar
   192   >>>>>>> bar
   193   [1]
   193   [1]
   194 
   194 
   195 too many labels
   195 too many labels
   196 
   196 
   197   $ python simplemerge -p -L foo -L bar -L baz -L buz conflict-local base conflict-other
   197   $ $PYTHON simplemerge -p -L foo -L bar -L baz -L buz conflict-local base conflict-other
   198   abort: can only specify three labels.
   198   abort: can only specify three labels.
   199   [255]
   199   [255]
   200 
   200 
   201 binary file
   201 binary file
   202 
   202 
   203   $ $PYTHON -c "f = file('binary-local', 'w'); f.write('\x00'); f.close()"
   203   $ $PYTHON -c "f = file('binary-local', 'w'); f.write('\x00'); f.close()"
   204   $ cat orig >> binary-local
   204   $ cat orig >> binary-local
   205   $ python simplemerge -p binary-local base other
   205   $ $PYTHON simplemerge -p binary-local base other
   206   warning: binary-local looks like a binary file.
   206   warning: binary-local looks like a binary file.
   207   [1]
   207   [1]
   208 
   208 
   209 binary file --text
   209 binary file --text
   210 
   210 
   211   $ python simplemerge -a -p binary-local base other 2>&1
   211   $ $PYTHON simplemerge -a -p binary-local base other 2>&1
   212   warning: binary-local looks like a binary file.
   212   warning: binary-local looks like a binary file.
   213   \x00local (esc)
   213   \x00local (esc)
   214   base
   214   base
   215   other
   215   other
   216 
   216 
   217 help
   217 help
   218 
   218 
   219   $ python simplemerge --help
   219   $ $PYTHON simplemerge --help
   220   simplemerge [OPTS] LOCAL BASE OTHER
   220   simplemerge [OPTS] LOCAL BASE OTHER
   221   
   221   
   222       Simple three-way file merge utility with a minimal feature set.
   222       Simple three-way file merge utility with a minimal feature set.
   223   
   223   
   224       Apply to LOCAL the changes necessary to go from BASE to OTHER.
   224       Apply to LOCAL the changes necessary to go from BASE to OTHER.
   233    -h --help        display help and exit
   233    -h --help        display help and exit
   234    -q --quiet       suppress output
   234    -q --quiet       suppress output
   235 
   235 
   236 wrong number of arguments
   236 wrong number of arguments
   237 
   237 
   238   $ python simplemerge
   238   $ $PYTHON simplemerge
   239   simplemerge: wrong number of arguments
   239   simplemerge: wrong number of arguments
   240   simplemerge [OPTS] LOCAL BASE OTHER
   240   simplemerge [OPTS] LOCAL BASE OTHER
   241   
   241   
   242       Simple three-way file merge utility with a minimal feature set.
   242       Simple three-way file merge utility with a minimal feature set.
   243   
   243   
   254    -q --quiet       suppress output
   254    -q --quiet       suppress output
   255   [1]
   255   [1]
   256 
   256 
   257 bad option
   257 bad option
   258 
   258 
   259   $ python simplemerge --foo -p local base other
   259   $ $PYTHON simplemerge --foo -p local base other
   260   simplemerge: option --foo not recognized
   260   simplemerge: option --foo not recognized
   261   simplemerge [OPTS] LOCAL BASE OTHER
   261   simplemerge [OPTS] LOCAL BASE OTHER
   262   
   262   
   263       Simple three-way file merge utility with a minimal feature set.
   263       Simple three-way file merge utility with a minimal feature set.
   264   
   264