tests/test-share-safe.t
changeset 46334 4b0192f592cf
parent 46333 2eb5fe13461b
child 46348 4a58561ace0f
child 46378 8b02f132adf6
equal deleted inserted replaced
46333:2eb5fe13461b 46334:4b0192f592cf
     2 
     2 
     3   $ cat >> $HGRCPATH <<EOF
     3   $ cat >> $HGRCPATH <<EOF
     4   > [extensions]
     4   > [extensions]
     5   > share =
     5   > share =
     6   > [format]
     6   > [format]
     7   > exp-share-safe = True
     7   > use-share-safe = True
     8   > [storage]
     8   > [storage]
     9   > revlog.persistent-nodemap.slow-path=allow
     9   > revlog.persistent-nodemap.slow-path=allow
    10   > EOF
    10   > EOF
    11 
    11 
    12 prepare source repo
    12 prepare source repo
    13 
    13 
    14   $ hg init source
    14   $ hg init source
    15   $ cd source
    15   $ cd source
    16   $ cat .hg/requires
    16   $ cat .hg/requires
    17   exp-sharesafe
    17   share-safe
    18   $ cat .hg/store/requires
    18   $ cat .hg/store/requires
    19   dotencode
    19   dotencode
    20   fncache
    20   fncache
    21   generaldelta
    21   generaldelta
    22   revlogv1
    22   revlogv1
    23   sparserevlog
    23   sparserevlog
    24   store
    24   store
    25   $ hg debugrequirements
    25   $ hg debugrequirements
    26   dotencode
    26   dotencode
    27   exp-sharesafe
    27   fncache
    28   fncache
    28   generaldelta
    29   generaldelta
    29   revlogv1
    30   revlogv1
    30   share-safe
    31   sparserevlog
    31   sparserevlog
    32   store
    32   store
    33 
    33 
    34   $ echo a > a
    34   $ echo a > a
    35   $ hg ci -Aqm "added a"
    35   $ hg ci -Aqm "added a"
    45   $ hg share source shared1
    45   $ hg share source shared1
    46   updating working directory
    46   updating working directory
    47   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
    47   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
    48   $ cd shared1
    48   $ cd shared1
    49   $ cat .hg/requires
    49   $ cat .hg/requires
    50   exp-sharesafe
    50   share-safe
    51   shared
    51   shared
    52 
    52 
    53   $ hg debugrequirements -R ../source
    53   $ hg debugrequirements -R ../source
    54   dotencode
    54   dotencode
    55   exp-sharesafe
    55   fncache
    56   fncache
    56   generaldelta
    57   generaldelta
    57   revlogv1
    58   revlogv1
    58   share-safe
    59   sparserevlog
    59   sparserevlog
    60   store
    60   store
    61 
    61 
    62   $ hg debugrequirements
    62   $ hg debugrequirements
    63   dotencode
    63   dotencode
    64   exp-sharesafe
    64   fncache
    65   fncache
    65   generaldelta
    66   generaldelta
    66   revlogv1
    67   revlogv1
    67   share-safe
    68   shared
    68   shared
    69   sparserevlog
    69   sparserevlog
    70   store
    70   store
    71 
    71 
    72   $ echo c > c
    72   $ echo c > c
   212 
   212 
   213   $ hg debugupgraderepo --run -q
   213   $ hg debugupgraderepo --run -q
   214   upgrade will perform the following actions:
   214   upgrade will perform the following actions:
   215   
   215   
   216   requirements
   216   requirements
   217      preserved: dotencode, exp-sharesafe, fncache, generaldelta, revlogv1, sparserevlog, store
   217      preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store
   218      added: revlog-compression-zstd
   218      added: revlog-compression-zstd
   219   
   219   
   220   processed revlogs:
   220   processed revlogs:
   221     - all-filelogs
   221     - all-filelogs
   222     - changelog
   222     - changelog
   238 
   238 
   239   $ hg debugupgraderepo --run -q
   239   $ hg debugupgraderepo --run -q
   240   upgrade will perform the following actions:
   240   upgrade will perform the following actions:
   241   
   241   
   242   requirements
   242   requirements
   243      preserved: dotencode, exp-sharesafe, fncache, generaldelta, revlogv1, sparserevlog, store (no-zstd !)
   243      preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd !)
   244      preserved: dotencode, exp-sharesafe, fncache, generaldelta, revlog-compression-zstd, revlogv1, sparserevlog, store (zstd !)
   244      preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd !)
   245      added: persistent-nodemap
   245      added: persistent-nodemap
   246   
   246   
   247   processed revlogs:
   247   processed revlogs:
   248     - all-filelogs
   248     - all-filelogs
   249     - changelog
   249     - changelog
   308   $ cd ../
   308   $ cd ../
   309 
   309 
   310 Test that upgrading using debugupgraderepo works
   310 Test that upgrading using debugupgraderepo works
   311 =================================================
   311 =================================================
   312 
   312 
   313   $ hg init non-share-safe --config format.exp-share-safe=false
   313   $ hg init non-share-safe --config format.use-share-safe=false
   314   $ cd non-share-safe
   314   $ cd non-share-safe
   315   $ hg debugrequirements
   315   $ hg debugrequirements
   316   dotencode
   316   dotencode
   317   fncache
   317   fncache
   318   generaldelta
   318   generaldelta
   343 Upgrade
   343 Upgrade
   344 
   344 
   345   $ hg debugupgraderepo -q
   345   $ hg debugupgraderepo -q
   346   requirements
   346   requirements
   347      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   347      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   348      added: exp-sharesafe
   348      added: share-safe
   349   
   349   
   350   processed revlogs:
   350   processed revlogs:
   351     - all-filelogs
   351     - all-filelogs
   352     - changelog
   352     - changelog
   353     - manifest
   353     - manifest
   355   $ hg debugupgraderepo --run -q
   355   $ hg debugupgraderepo --run -q
   356   upgrade will perform the following actions:
   356   upgrade will perform the following actions:
   357   
   357   
   358   requirements
   358   requirements
   359      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   359      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   360      added: exp-sharesafe
   360      added: share-safe
   361   
   361   
   362   processed revlogs:
   362   processed revlogs:
   363     - all-filelogs
   363     - all-filelogs
   364     - changelog
   364     - changelog
   365     - manifest
   365     - manifest
   366   
   366   
   367   repository upgraded to share safe mode, existing shares will still work in old non-safe mode. Re-share existing shares to use them in safe mode New shares will be created in safe mode.
   367   repository upgraded to share safe mode, existing shares will still work in old non-safe mode. Re-share existing shares to use them in safe mode New shares will be created in safe mode.
   368 
   368 
   369   $ hg debugrequirements
   369   $ hg debugrequirements
   370   dotencode
   370   dotencode
   371   exp-sharesafe
   371   fncache
   372   fncache
   372   generaldelta
   373   generaldelta
   373   revlogv1
   374   revlogv1
   374   share-safe
   375   sparserevlog
   375   sparserevlog
   376   store
   376   store
   377 
   377 
   378   $ cat .hg/requires
   378   $ cat .hg/requires
   379   exp-sharesafe
   379   share-safe
   380 
   380 
   381   $ cat .hg/store/requires
   381   $ cat .hg/store/requires
   382   dotencode
   382   dotencode
   383   fncache
   383   fncache
   384   generaldelta
   384   generaldelta
   417 
   417 
   418   $ cat >> $HGRCPATH <<EOF
   418   $ cat >> $HGRCPATH <<EOF
   419   > [extensions]
   419   > [extensions]
   420   > share =
   420   > share =
   421   > [format]
   421   > [format]
   422   > exp-share-safe = False
   422   > use-share-safe = False
   423   > EOF
   423   > EOF
   424 
   424 
   425   $ hg debugupgraderepo -q
   425   $ hg debugupgraderepo -q
   426   requirements
   426   requirements
   427      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   427      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   428      removed: exp-sharesafe
   428      removed: share-safe
   429   
   429   
   430   processed revlogs:
   430   processed revlogs:
   431     - all-filelogs
   431     - all-filelogs
   432     - changelog
   432     - changelog
   433     - manifest
   433     - manifest
   435   $ hg debugupgraderepo -q --run
   435   $ hg debugupgraderepo -q --run
   436   upgrade will perform the following actions:
   436   upgrade will perform the following actions:
   437   
   437   
   438   requirements
   438   requirements
   439      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   439      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   440      removed: exp-sharesafe
   440      removed: share-safe
   441   
   441   
   442   processed revlogs:
   442   processed revlogs:
   443     - all-filelogs
   443     - all-filelogs
   444     - changelog
   444     - changelog
   445     - manifest
   445     - manifest
   505   
   505   
   506 
   506 
   507 
   507 
   508 Testing automatic upgrade of shares when config is set
   508 Testing automatic upgrade of shares when config is set
   509 
   509 
   510   $ hg debugupgraderepo -q --run --config format.exp-share-safe=True
   510   $ hg debugupgraderepo -q --run --config format.use-share-safe=True
   511   upgrade will perform the following actions:
   511   upgrade will perform the following actions:
   512   
   512   
   513   requirements
   513   requirements
   514      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   514      preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store
   515      added: exp-sharesafe
   515      added: share-safe
   516   
   516   
   517   processed revlogs:
   517   processed revlogs:
   518     - all-filelogs
   518     - all-filelogs
   519     - changelog
   519     - changelog
   520     - manifest
   520     - manifest
   521   
   521   
   522   repository upgraded to share safe mode, existing shares will still work in old non-safe mode. Re-share existing shares to use them in safe mode New shares will be created in safe mode.
   522   repository upgraded to share safe mode, existing shares will still work in old non-safe mode. Re-share existing shares to use them in safe mode New shares will be created in safe mode.
   523   $ hg debugrequirements
   523   $ hg debugrequirements
   524   dotencode
   524   dotencode
   525   exp-sharesafe
   525   fncache
   526   fncache
   526   generaldelta
   527   generaldelta
   527   revlogv1
   528   revlogv1
   528   share-safe
   529   sparserevlog
   529   sparserevlog
   530   store
   530   store
   531   $ hg log -GT "{node}: {desc}\n" -R ../nss-share
   531   $ hg log -GT "{node}: {desc}\n" -R ../nss-share
   532   abort: version mismatch: source uses share-safe functionality while the current share does not
   532   abort: version mismatch: source uses share-safe functionality while the current share does not
   533   [255]
   533   [255]