tests/test-bundle-type.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 02 Jul 2021 22:48:35 +0200
changeset 47494 81d70de39c7e
parent 46776 471cd86c8eb4
child 49333 1fd7520e4961
permissions -rw-r--r--
run-tests: unroll a non-so-one-liner This is shorter and clearer. Differential Revision: https://phab.mercurial-scm.org/D10938
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     1
bundle w/o type option
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     3
  $ hg init t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     4
  $ hg init t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     5
  $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     6
  $ echo blablablablabla > file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     7
  $ hg ci -Ama
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     8
  adding file.txt
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
     9
  $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    10
  summary:     a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    11
  $ hg bundle ../b1 ../t2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    12
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    13
  1 changesets found
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    14
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    15
  $ cd ../t2
37336
5d10f41ddcc4 tests: use `hg unbundle` instead of `hg pull` in some tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
    16
  $ hg unbundle ../b1
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    17
  adding changesets
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    18
  adding manifests
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    19
  adding file changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    20
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 37842
diff changeset
    21
  new changesets c35a0f9217e6 (1 drafts)
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    22
  (run 'hg update' to get a working copy)
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    23
  $ hg up
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    24
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    25
  $ hg log | grep summary
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    26
  summary:     a
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    27
  $ cd ..
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    28
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    29
Unknown compression type is rejected
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    30
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    31
  $ hg init t3
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    32
  $ cd t3
37336
5d10f41ddcc4 tests: use `hg unbundle` instead of `hg pull` in some tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
    33
  $ hg -q unbundle ../b1
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    34
  $ hg bundle -a -t unknown out.hg
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    35
  abort: unknown is not a recognized bundle specification
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
    36
  (see 'hg help bundlespec' for supported values for --type)
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 39480
diff changeset
    37
  [10]
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    38
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    39
  $ hg bundle -a -t unknown-v2 out.hg
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    40
  abort: unknown compression is not supported
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
    41
  (see 'hg help bundlespec' for supported values for --type)
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 39480
diff changeset
    42
  [10]
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    43
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    44
  $ cd ..
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
    45
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    46
test bundle types
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
    47
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    48
  $ testbundle() {
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    49
  >   echo % test bundle type $1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    50
  >   hg init t$1
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    51
  >   cd t1
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    52
  >   hg bundle -t $1 ../b$1 ../t$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    53
  >   f -q -B6 -D ../b$1; echo
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    54
  >   cd ../t$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    55
  >   hg debugbundle ../b$1
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    56
  >   hg debugbundle --spec ../b$1
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
    57
  >   echo
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    58
  >   cd ..
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    59
  > }
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    60
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    61
  $ for t in "None" "bzip2" "gzip" "none-v2" "v2" "v1" "gzip-v1"; do
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
    62
  >   testbundle $t
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    63
  > done
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    64
  % test bundle type None
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    65
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    66
  1 changesets found
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    67
  HG20\x00\x00 (esc)
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    68
  Stream params: {}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
    69
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    70
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
    71
  cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
    72
  none-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
    73
  
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    74
  % test bundle type bzip2
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    75
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    76
  1 changesets found
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    77
  HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
    78
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
    79
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    80
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
    81
  cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
    82
  bzip2-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
    83
  
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    84
  % test bundle type gzip
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    85
  searching for changes
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
    86
  1 changesets found
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    87
  HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
    88
  Stream params: {Compression: GZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
    89
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26925
d8270223a026 test: use generaldelta in 'test-bundle-type.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26905
diff changeset
    90
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
    91
  cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
    92
  gzip-v2
26511
bb3d961c1648 test-bundle-type: replace unbundle with debugbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24138
diff changeset
    93
  
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
    94
  % test bundle type none-v2
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
    95
  searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
    96
  1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
    97
  HG20\x00\x00 (esc)
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
    98
  Stream params: {}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
    99
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   100
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   101
  cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
   102
  none-v2
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   103
  
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   104
  % test bundle type v2
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   105
  searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   106
  1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   107
  HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
   108
  Stream params: {Compression: BZ}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
   109
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   110
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   111
  cache:rev-branch-cache -- {} (mandatory: False)
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
   112
  bzip2-v2
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   113
  
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   114
  % test bundle type v1
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   115
  searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   116
  1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   117
  HG10BZ
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   118
  c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
   119
  bzip2-v1
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   120
  
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   121
  % test bundle type gzip-v1
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   122
  searching for changes
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   123
  1 changesets found
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   124
  HG10GZ
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   125
  c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
27885
2370c66110cb commands: teach debugbundle to print bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26925
diff changeset
   126
  gzip-v1
26531
15ce78517d4b bundle: extend the format of --type to support version and compression
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26511
diff changeset
   127
  
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   128
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   129
Compression level can be adjusted for bundle2 bundles
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   130
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   131
  $ hg init test-complevel
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   132
  $ cd test-complevel
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   133
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   134
  $ cat > file0 << EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   135
  > this is a file
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   136
  > with some text
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   137
  > and some more text
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   138
  > and other content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   139
  > EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   140
  $ cat > file1 << EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   141
  > this is another file
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   142
  > with some other content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   143
  > and repeated, repeated, repeated, repeated content
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   144
  > EOF
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   145
  $ hg -q commit -A -m initial
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   146
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   147
  $ hg bundle -a -t gzip-v2 gzip-v2.hg
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   148
  1 changesets found
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   149
  $ f --size gzip-v2.hg
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   150
  gzip-v2.hg: size=468
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   151
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   152
  $ hg --config experimental.bundlecomplevel=1 bundle -a -t gzip-v2 gzip-v2-level1.hg
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   153
  1 changesets found
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   154
  $ f --size gzip-v2-level1.hg
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
   155
  gzip-v2-level1.hg: size=475
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   156
37769
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
   157
  $ hg --config experimental.bundlecomplevel.gzip=1 --config experimental.bundlelevel=9 bundle -a -t gzip-v2 gzip-v2-level1.hg
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
   158
  1 changesets found
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
   159
  $ f --size gzip-v2-level1.hg
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
   160
  gzip-v2-level1.hg: size=475
6a7ff5816c5f bundle: introduce per-engine compression level
Joerg Sonnenberger <joerg@bec.de>
parents: 37336
diff changeset
   161
30758
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   162
  $ cd ..
76104a4899ad commands: config option to control bundle compression level
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30442
diff changeset
   163
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   164
#if zstd
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   165
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   166
  $ for t in "zstd" "zstd-v2"; do
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   167
  >   testbundle $t
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   168
  > done
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   169
  % test bundle type zstd
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   170
  searching for changes
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   171
  1 changesets found
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   172
  HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
   173
  Stream params: {Compression: ZS}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
   174
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   175
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   176
  cache:rev-branch-cache -- {} (mandatory: False)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   177
  zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   178
  
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   179
  % test bundle type zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   180
  searching for changes
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   181
  1 changesets found
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   182
  HG20\x00\x00 (esc)
34025
626a28f30dbd debugcommands: stabilize output of debugbundle by having a custom repr
Augie Fackler <raf@durin42.com>
parents: 31794
diff changeset
   183
  Stream params: {Compression: ZS}
37841
d618558e4e8b debugbundle: also display if a part is mandatory or advisory
Boris Feld <boris.feld@octobus.net>
parents: 37769
diff changeset
   184
  changegroup -- {nbchanges: 1, version: 02} (mandatory: True)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   185
      c35a0f9217e65d1fdb90c936ffa7dbe679f83ddf
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37841
diff changeset
   186
  cache:rev-branch-cache -- {} (mandatory: False)
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   187
  zstd-v2
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   188
  
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   189
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   190
Explicit request for zstd on non-generaldelta repos
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   191
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   192
  $ hg --config format.usegeneraldelta=false init nogd
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   193
  $ hg -q -R nogd pull t1
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   194
  $ hg -R nogd bundle -a -t zstd nogd-zstd
31474
10c0ee338535 exchange: use v2 bundles for modern compression engines (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31473
diff changeset
   195
  1 changesets found
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   196
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   197
zstd-v1 always fails
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   198
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   199
  $ hg -R tzstd bundle -a -t zstd-v1 zstd-v1
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   200
  abort: compression engine zstd is not supported on v1 bundles
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
   201
  (see 'hg help bundlespec' for supported values for --type)
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 39480
diff changeset
   202
  [10]
31473
ffed3bf5cd4c exchange: reject new compression engines for v1 bundles (issue5506)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30758
diff changeset
   203
46776
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   204
zstd supports threading
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   205
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   206
  $ hg init test-compthreads
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   207
  $ cd test-compthreads
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   208
  $ hg debugbuilddag +3
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   209
  $ hg --config experimental.bundlecompthreads=1 bundle -a -t zstd-v2 zstd-v2-threaded.hg
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   210
  3 changesets found
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   211
  $ cd ..
471cd86c8eb4 bundle: optional multithreaded compression, ATM zstd-only
Joerg Sonnenberger <joerg@bec.de>
parents: 45827
diff changeset
   212
30442
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   213
#else
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   214
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   215
zstd is a valid engine but isn't available
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   216
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   217
  $ hg -R t1 bundle -a -t zstd irrelevant.hg
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   218
  abort: compression engine zstd could not be loaded
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   219
  [255]
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   220
41a8106789ca util: implement zstd compression engine
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29971
diff changeset
   221
#endif
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
   222
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   223
test garbage file
6570
626cb86a6523 add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
diff changeset
   224
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   225
  $ echo garbage > bgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   226
  $ hg init tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   227
  $ cd tgarbage
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   228
  $ hg pull ../bgarbage
24138
eabe44ec5af5 pull: print "pulling from foo" before accessing the other repo
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16427
diff changeset
   229
  pulling from ../bgarbage
12044
bcc7139521b7 bundlerepo: remove duplication of bundle decompressors
Matt Mackall <mpm@selenic.com>
parents: 11872
diff changeset
   230
  abort: ../bgarbage: not a Mercurial bundle
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12044
diff changeset
   231
  [255]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   232
  $ cd ..
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   233
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   234
test invalid bundle type
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   235
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   236
  $ cd t1
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   237
  $ hg bundle -a -t garbage ../bgarbage
26640
b13fdcc4e700 exchange: refactor bundle specification parsing
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26595
diff changeset
   238
  abort: garbage is not a recognized bundle specification
31794
54b1af732415 commands: update help for "bundle"
Gregory Szorc <gregory.szorc@gmail.com>
parents: 31474
diff changeset
   239
  (see 'hg help bundlespec' for supported values for --type)
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 39480
diff changeset
   240
  [10]
11872
bc436a97038b tests: unify test-bundle-type
Martin Geisler <mg@lazybytes.net>
parents: 7171
diff changeset
   241
  $ cd ..