tests/test-requires.t
changeset 19778 55ef79031009
parent 16913 f2719b387380
child 20715 b93791e0de25
equal deleted inserted replaced
19777:6f72e7d28b35 19778:55ef79031009
    13   [255]
    13   [255]
    14   $ echo outdoor-pool >> .hg/requires
    14   $ echo outdoor-pool >> .hg/requires
    15   $ hg tip
    15   $ hg tip
    16   abort: unknown repository format: requires features 'indoor-pool', 'outdoor-pool' (upgrade Mercurial)!
    16   abort: unknown repository format: requires features 'indoor-pool', 'outdoor-pool' (upgrade Mercurial)!
    17   [255]
    17   [255]
       
    18   $ cd ..
       
    19 
       
    20 Test checking between features supported locally and ones required in
       
    21 another repository of push/pull/clone on localhost:
       
    22 
       
    23   $ mkdir supported-locally
       
    24   $ cd supported-locally
       
    25 
       
    26   $ hg init supported
       
    27   $ echo a > supported/a
       
    28   $ hg -R supported commit -Am '#0 at supported'
       
    29   adding a
       
    30 
       
    31   $ echo 'featuresetup-test' >> supported/.hg/requires
       
    32   $ cat > $TESTTMP/supported-locally/supportlocally.py <<EOF
       
    33   > from mercurial import localrepo, extensions
       
    34   > def featuresetup(ui, supported):
       
    35   >     for name, module in extensions.extensions(ui):
       
    36   >         if __name__ == module.__name__:
       
    37   >             # support specific feature locally
       
    38   >             supported |= set(['featuresetup-test'])
       
    39   >             return
       
    40   > def uisetup(ui):
       
    41   >     localrepo.localrepository.featuresetupfuncs.add(featuresetup)
       
    42   > EOF
       
    43   $ cat > supported/.hg/hgrc <<EOF
       
    44   > [extensions]
       
    45   > # enable extension locally
       
    46   > supportlocally = $TESTTMP/supported-locally/supportlocally.py
       
    47   > EOF
       
    48   $ hg -R supported status
       
    49 
       
    50   $ hg init push-dst
       
    51   $ hg -R supported push push-dst
       
    52   pushing to push-dst
       
    53   abort: required features are not supported in the destination: featuresetup-test
       
    54   [255]
       
    55 
       
    56   $ hg init pull-src
       
    57   $ hg -R pull-src pull supported
       
    58   pulling from supported
       
    59   abort: required features are not supported in the destination: featuresetup-test
       
    60   [255]
       
    61 
       
    62   $ hg clone supported clone-dst
       
    63   abort: unknown repository format: requires features 'featuresetup-test' (upgrade Mercurial)!
       
    64   [255]
       
    65   $ hg clone --pull supported clone-dst
       
    66   abort: required features are not supported in the destination: featuresetup-test
       
    67   [255]
    18 
    68 
    19   $ cd ..
    69   $ cd ..