tests/test-rhg.t
author Augie Fackler <augie@google.com>
Tue, 01 Dec 2020 12:52:04 -0500
changeset 46786 d13afdd1f6e2
parent 46761 bde90e9b4507
child 46874 84a93fa7ecfd
permissions -rw-r--r--
pyproject: add config file This will tell pip et al to call our setup.py for the majority of packaging concerns, but also gives us a place to put standard config stuff like black. This was previously D9833, but was rolled back due to test breakage. nbjoerg thinks that breakage is now resolved, so we're trying again. Differential Revision: https://phab.mercurial-scm.org/D10184
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46737
78e6700ab009 tests: Add `rhg` and `no-rhg` for #require and #if in .t files
Simon Sapin <simon.sapin@octobus.net>
parents: 46736
diff changeset
     1
#require rhg
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
     2
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
     3
  $ NO_FALLBACK="env RHG_ON_UNSUPPORTED=abort"
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
     4
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
     5
Unimplemented command
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
     6
  $ $NO_FALLBACK rhg unimplemented-command
46705
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
     7
  unsupported feature: error: Found argument 'unimplemented-command' which wasn't expected, or isn't valid in this context
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
     8
  
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
     9
  USAGE:
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
    10
      rhg [OPTIONS] <SUBCOMMAND>
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
    11
  
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
    12
  For more information try --help
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
    13
  
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
    14
  [252]
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
    15
  $ rhg unimplemented-command --config rhg.on-unsupported=abort-silent
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    16
  [252]
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    17
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    18
Finding root
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    19
  $ $NO_FALLBACK rhg root
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    20
  abort: no repository found in '$TESTTMP' (.hg not found)!
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    21
  [255]
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    22
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    23
  $ hg init repository
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    24
  $ cd repository
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    25
  $ $NO_FALLBACK rhg root
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    26
  $TESTTMP/repository
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    27
46557
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    28
Reading and setting configuration
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    29
  $ echo "[ui]" >> $HGRCPATH
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    30
  $ echo "username = user1" >> $HGRCPATH
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    31
  $ $NO_FALLBACK rhg config ui.username
46557
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    32
  user1
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    33
  $ echo "[ui]" >> .hg/hgrc
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    34
  $ echo "username = user2" >> .hg/hgrc
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    35
  $ $NO_FALLBACK rhg config ui.username
46557
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    36
  user2
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    37
  $ $NO_FALLBACK rhg --config ui.username=user3 config ui.username
46557
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    38
  user3
a25033eb43b5 rhg: add limited support for the `config` sub-command
Simon Sapin <simon.sapin@octobus.net>
parents: 46555
diff changeset
    39
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    40
Unwritable file descriptor
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    41
  $ $NO_FALLBACK rhg root > /dev/full
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    42
  abort: No space left on device (os error 28)
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    43
  [255]
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    44
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    45
Deleted repository
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    46
  $ rm -rf `pwd`
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    47
  $ $NO_FALLBACK rhg root
46744
3d692e724d06 rhg: Align config file parse error formatting with Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46737
diff changeset
    48
  abort: error getting current working directory: $ENOENT$
45051
18f8d3b31baa rhg: add a limited `rhg root` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents:
diff changeset
    49
  [255]
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    50
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    51
Listing tracked files
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    52
  $ cd $TESTTMP
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    53
  $ hg init repository
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    54
  $ cd repository
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    55
  $ for i in 1 2 3; do
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    56
  >   echo $i >> file$i
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    57
  >   hg add file$i
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    58
  > done
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    59
  > hg commit -m "commit $i" -q
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    60
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    61
Listing tracked files from root
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    62
  $ $NO_FALLBACK rhg files
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    63
  file1
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    64
  file2
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    65
  file3
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    66
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    67
Listing tracked files from subdirectory
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    68
  $ mkdir -p path/to/directory
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    69
  $ cd path/to/directory
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    70
  $ $NO_FALLBACK rhg files
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    71
  ../../../file1
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    72
  ../../../file2
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    73
  ../../../file3
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    74
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    75
Listing tracked files through broken pipe
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    76
  $ $NO_FALLBACK rhg files | head -n 1
45448
e339693addc0 rhg: add harness tests for rhg files
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45051
diff changeset
    77
  ../../../file1
45535
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    78
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    79
Debuging data in inline index
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    80
  $ cd $TESTTMP
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    81
  $ rm -rf repository
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    82
  $ hg init repository
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    83
  $ cd repository
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    84
  $ for i in 1 2 3 4 5 6; do
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    85
  >   echo $i >> file-$i
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    86
  >   hg add file-$i
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    87
  >   hg commit -m "Commit $i" -q
45535
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    88
  > done
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    89
  $ $NO_FALLBACK rhg debugdata -c 2
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    90
  8d0267cb034247ebfa5ee58ce59e22e57a492297
45535
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    91
  test
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    92
  0 0
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    93
  file-3
45535
f17caf8f3fef rhg: add a limited `rhg debugdata` subcommand
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45451
diff changeset
    94
  
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    95
  Commit 3 (no-eol)
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
    96
  $ $NO_FALLBACK rhg debugdata -m 2
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    97
  file-1\x00b8e02f6433738021a065f94175c7cd23db5f05be (esc)
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    98
  file-2\x005d9299349fc01ddd25d0070d149b124d8f10411e (esc)
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
    99
  file-3\x002661d26c649684b482d10f91960cc3db683c38b4 (esc)
45823
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   100
45832
57dc78861196 rhg: add full node id support for `debugdata` command
Antoine cezar<acezar@chwitlabs.fr>
parents: 45823
diff changeset
   101
Debuging with full node id
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   102
  $ $NO_FALLBACK rhg debugdata -c `hg log -r 0 -T '{node}'`
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   103
  d1d1c679d3053e8926061b6f45ca52009f011e3f
45832
57dc78861196 rhg: add full node id support for `debugdata` command
Antoine cezar<acezar@chwitlabs.fr>
parents: 45823
diff changeset
   104
  test
57dc78861196 rhg: add full node id support for `debugdata` command
Antoine cezar<acezar@chwitlabs.fr>
parents: 45823
diff changeset
   105
  0 0
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   106
  file-1
45832
57dc78861196 rhg: add full node id support for `debugdata` command
Antoine cezar<acezar@chwitlabs.fr>
parents: 45823
diff changeset
   107
  
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   108
  Commit 1 (no-eol)
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   109
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   110
Specifying revisions by changeset ID
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   111
  $ hg log -T '{node}\n'
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   112
  c6ad58c44207b6ff8a4fbbca7045a5edaa7e908b
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   113
  d654274993d0149eecc3cc03214f598320211900
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   114
  f646af7e96481d3a5470b695cf30ad8e3ab6c575
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   115
  cf8b83f14ead62b374b6e91a0e9303b85dfd9ed7
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   116
  91c6f6e73e39318534dc415ea4e8a09c99cd74d6
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   117
  6ae9681c6d30389694d8701faf24b583cf3ccafe
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   118
  $ $NO_FALLBACK rhg files -r cf8b83
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   119
  file-1
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   120
  file-2
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   121
  file-3
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   122
  $ $NO_FALLBACK rhg cat -r cf8b83 file-2
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   123
  2
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   124
  $ $NO_FALLBACK rhg cat -r c file-2
46744
3d692e724d06 rhg: Align config file parse error formatting with Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46737
diff changeset
   125
  abort: ambiguous revision identifier: c
46036
8d6164098782 rhg: allow specifying a changeset ID prefix
Simon Sapin <simon-commits@exyr.org>
parents: 46011
diff changeset
   126
  [255]
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   127
  $ $NO_FALLBACK rhg cat -r d file-2
46037
88e741bf2d93 rust: use NodePrefix::from_hex instead of hex::decode directly
Simon Sapin <simon-commits@exyr.org>
parents: 46036
diff changeset
   128
  2
45832
57dc78861196 rhg: add full node id support for `debugdata` command
Antoine cezar<acezar@chwitlabs.fr>
parents: 45823
diff changeset
   129
45823
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   130
Cat files
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   131
  $ cd $TESTTMP
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   132
  $ rm -rf repository
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   133
  $ hg init repository
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   134
  $ cd repository
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   135
  $ echo "original content" > original
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   136
  $ hg add original
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   137
  $ hg commit -m "add original" original
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   138
  $ $NO_FALLBACK rhg cat -r 0 original
45823
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   139
  original content
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   140
Cat copied file should not display copy metadata
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   141
  $ hg copy original copy_of_original
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   142
  $ hg commit -m "add copy of original"
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   143
  $ $NO_FALLBACK rhg cat -r 1 copy_of_original
45823
6991f3014311 rhg: strip copied files metadata from `cat` output
Antoine cezar<acezar@chwitlabs.fr>
parents: 45535
diff changeset
   144
  original content
45938
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   145
46706
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   146
Fallback to Python
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   147
  $ $NO_FALLBACK rhg cat original
46706
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   148
  unsupported feature: `rhg cat` without `--rev` / `-r`
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   149
  [252]
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   150
  $ rhg cat original
46706
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   151
  original content
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   152
46761
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   153
  $ FALLBACK_EXE="$RHG_FALLBACK_EXECUTABLE"
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   154
  $ unset RHG_FALLBACK_EXECUTABLE
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   155
  $ rhg cat original
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   156
  abort: 'rhg.on-unsupported=fallback' without 'rhg.fallback-executable' set.
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   157
  [255]
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   158
  $ RHG_FALLBACK_EXECUTABLE="$FALLBACK_EXE"
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   159
  $ export RHG_FALLBACK_EXECUTABLE
bde90e9b4507 rhg: Remove `rhg.fallback-executable=hg` default configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46748
diff changeset
   160
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   161
  $ rhg cat original --config rhg.fallback-executable=false
46706
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   162
  [1]
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   163
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   164
  $ rhg cat original --config rhg.fallback-executable=hg-non-existent
46706
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   165
  tried to fall back to a 'hg-non-existent' sub-process but got error $ENOENT$
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   166
  unsupported feature: `rhg cat` without `--rev` / `-r`
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   167
  [252]
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   168
46737
78e6700ab009 tests: Add `rhg` and `no-rhg` for #require and #if in .t files
Simon Sapin <simon.sapin@octobus.net>
parents: 46736
diff changeset
   169
  $ rhg cat original --config rhg.fallback-executable=rhg
78e6700ab009 tests: Add `rhg` and `no-rhg` for #require and #if in .t files
Simon Sapin <simon.sapin@octobus.net>
parents: 46736
diff changeset
   170
  Blocking recursive fallback. The 'rhg.fallback-executable = rhg' config points to `rhg` itself.
46706
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   171
  unsupported feature: `rhg cat` without `--rev` / `-r`
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   172
  [252]
93e9f448273c rhg: Add support for automatic fallback to Python
Simon Sapin <simon.sapin@octobus.net>
parents: 46705
diff changeset
   173
45938
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   174
Requirements
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   175
  $ $NO_FALLBACK rhg debugrequirements
45938
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   176
  dotencode
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   177
  fncache
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   178
  generaldelta
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   179
  revlogv1
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   180
  sparserevlog
ead435aa5294 rhg: add a `debugrequirements` subcommand
Simon Sapin <simon-commits@exyr.org>
parents: 45832
diff changeset
   181
  store
45952
2ad2745e0be9 rhg: exit with relevant code for unsupported requirements
Simon Sapin <simon-commits@exyr.org>
parents: 45938
diff changeset
   182
2ad2745e0be9 rhg: exit with relevant code for unsupported requirements
Simon Sapin <simon-commits@exyr.org>
parents: 45938
diff changeset
   183
  $ echo indoor-pool >> .hg/requires
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   184
  $ $NO_FALLBACK rhg files
46705
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
   185
  unsupported feature: repository requires feature unknown to this Mercurial: indoor-pool
45952
2ad2745e0be9 rhg: exit with relevant code for unsupported requirements
Simon Sapin <simon-commits@exyr.org>
parents: 45938
diff changeset
   186
  [252]
2ad2745e0be9 rhg: exit with relevant code for unsupported requirements
Simon Sapin <simon-commits@exyr.org>
parents: 45938
diff changeset
   187
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   188
  $ $NO_FALLBACK rhg cat -r 1 copy_of_original
46705
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
   189
  unsupported feature: repository requires feature unknown to this Mercurial: indoor-pool
45952
2ad2745e0be9 rhg: exit with relevant code for unsupported requirements
Simon Sapin <simon-commits@exyr.org>
parents: 45938
diff changeset
   190
  [252]
2ad2745e0be9 rhg: exit with relevant code for unsupported requirements
Simon Sapin <simon-commits@exyr.org>
parents: 45938
diff changeset
   191
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   192
  $ $NO_FALLBACK rhg debugrequirements
46705
33f2d56acc73 rhg: Add a `rhg.on-unsupported` configuration key
Simon Sapin <simon.sapin@octobus.net>
parents: 46640
diff changeset
   193
  unsupported feature: repository requires feature unknown to this Mercurial: indoor-pool
46514
1dcd9c9975ed rust: Fold find_root and check_requirements into Repo::find
Simon Sapin <simon.sapin@octobus.net>
parents: 46513
diff changeset
   194
  [252]
45953
f5d62f4d5327 rhg: check that .hg/requires is ASCII
Simon Sapin <simon-commits@exyr.org>
parents: 45952
diff changeset
   195
f5d62f4d5327 rhg: check that .hg/requires is ASCII
Simon Sapin <simon-commits@exyr.org>
parents: 45952
diff changeset
   196
  $ echo -e '\xFF' >> .hg/requires
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   197
  $ $NO_FALLBACK rhg debugrequirements
46748
12d59eec7f1d rhg: Align with Python on some more error messages
Simon Sapin <simon.sapin@octobus.net>
parents: 46744
diff changeset
   198
  abort: parse error in 'requires' file
45953
f5d62f4d5327 rhg: check that .hg/requires is ASCII
Simon Sapin <simon-commits@exyr.org>
parents: 45952
diff changeset
   199
  [255]
46038
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   200
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   201
Persistent nodemap
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   202
  $ cd $TESTTMP
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   203
  $ rm -rf repository
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   204
  $ hg init repository
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   205
  $ cd repository
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   206
  $ $NO_FALLBACK rhg debugrequirements | grep nodemap
46038
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   207
  [1]
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   208
  $ hg debugbuilddag .+5000 --overwritten-file --config "storage.revlog.nodemap.mode=warn"
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   209
  $ hg id -r tip
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   210
  c3ae8dec9fad tip
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   211
  $ ls .hg/store/00changelog*
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   212
  .hg/store/00changelog.d
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   213
  .hg/store/00changelog.i
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   214
  $ $NO_FALLBACK rhg files -r c3ae8dec9fad
46038
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   215
  of
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   216
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   217
  $ cd $TESTTMP
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   218
  $ rm -rf repository
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   219
  $ hg --config format.use-persistent-nodemap=True init repository
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   220
  $ cd repository
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   221
  $ $NO_FALLBACK rhg debugrequirements | grep nodemap
46038
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   222
  persistent-nodemap
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   223
  $ hg debugbuilddag .+5000 --overwritten-file --config "storage.revlog.nodemap.mode=warn"
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   224
  $ hg id -r tip
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   225
  c3ae8dec9fad tip
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   226
  $ ls .hg/store/00changelog*
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   227
  .hg/store/00changelog-*.nd (glob)
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   228
  .hg/store/00changelog.d
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   229
  .hg/store/00changelog.i
0c02c2a0badb rhg: add a test with persistent-nodemap
Simon Sapin <simon-commits@exyr.org>
parents: 46037
diff changeset
   230
  .hg/store/00changelog.n
46091
9eb07ab3f2d4 rhg: use persistent nodemap when available
Simon Sapin <simon-commits@exyr.org>
parents: 46038
diff changeset
   231
9eb07ab3f2d4 rhg: use persistent nodemap when available
Simon Sapin <simon-commits@exyr.org>
parents: 46038
diff changeset
   232
Specifying revisions by changeset ID
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   233
  $ $NO_FALLBACK rhg files -r c3ae8dec9fad
46091
9eb07ab3f2d4 rhg: use persistent nodemap when available
Simon Sapin <simon-commits@exyr.org>
parents: 46038
diff changeset
   234
  of
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   235
  $ $NO_FALLBACK rhg cat -r c3ae8dec9fad of
46091
9eb07ab3f2d4 rhg: use persistent nodemap when available
Simon Sapin <simon-commits@exyr.org>
parents: 46038
diff changeset
   236
  r5000
46523
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   237
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   238
Crate a shared repository
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   239
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   240
  $ echo "[extensions]"      >> $HGRCPATH
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   241
  $ echo "share = "          >> $HGRCPATH
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   242
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   243
  $ cd $TESTTMP
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   244
  $ hg init repo1
46555
d8730ff51d5a rhg: Add support for -R and --repository command-line arguments
Simon Sapin <simon.sapin@octobus.net>
parents: 46525
diff changeset
   245
  $ echo a > repo1/a
d8730ff51d5a rhg: Add support for -R and --repository command-line arguments
Simon Sapin <simon.sapin@octobus.net>
parents: 46525
diff changeset
   246
  $ hg -R repo1 commit -A -m'init'
46523
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   247
  adding a
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   248
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   249
  $ hg share repo1 repo2
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   250
  updating working directory
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   251
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   252
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   253
And check that basic rhg commands work with sharing
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   254
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   255
  $ $NO_FALLBACK rhg files -R repo2
46555
d8730ff51d5a rhg: Add support for -R and --repository command-line arguments
Simon Sapin <simon.sapin@octobus.net>
parents: 46525
diff changeset
   256
  repo2/a
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   257
  $ $NO_FALLBACK rhg -R repo2 cat -r 0 repo2/a
46524
d03b0601e0eb rhg: initial support for shared repositories
Simon Sapin <simon.sapin@octobus.net>
parents: 46523
diff changeset
   258
  a
46523
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   259
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   260
Same with relative sharing
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   261
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   262
  $ hg share repo2 repo3 --relative
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   263
  updating working directory
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   264
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   265
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   266
  $ $NO_FALLBACK rhg files -R repo3
46555
d8730ff51d5a rhg: Add support for -R and --repository command-line arguments
Simon Sapin <simon.sapin@octobus.net>
parents: 46525
diff changeset
   267
  repo3/a
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   268
  $ $NO_FALLBACK rhg -R repo3 cat -r 0 repo3/a
46524
d03b0601e0eb rhg: initial support for shared repositories
Simon Sapin <simon.sapin@octobus.net>
parents: 46523
diff changeset
   269
  a
46523
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   270
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   271
Same with share-safe
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   272
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   273
  $ echo "[format]"         >> $HGRCPATH
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   274
  $ echo "use-share-safe = True" >> $HGRCPATH
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   275
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   276
  $ cd $TESTTMP
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   277
  $ hg init repo4
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   278
  $ cd repo4
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   279
  $ echo a > a
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   280
  $ hg commit -A -m'init'
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   281
  adding a
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   282
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   283
  $ cd ..
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   284
  $ hg share repo4 repo5
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   285
  updating working directory
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   286
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   287
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   288
And check that basic rhg commands work with sharing
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   289
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   290
  $ cd repo5
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   291
  $ $NO_FALLBACK rhg files
46525
95b276283b67 rhg: add support for share-safe
Simon Sapin <simon.sapin@octobus.net>
parents: 46524
diff changeset
   292
  a
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   293
  $ $NO_FALLBACK rhg cat -r 0 a
46525
95b276283b67 rhg: add support for share-safe
Simon Sapin <simon.sapin@octobus.net>
parents: 46524
diff changeset
   294
  a
46523
f3f4d1b7dc97 rhg: Add basic test with a shared repository
Simon Sapin <simon.sapin@octobus.net>
parents: 46514
diff changeset
   295
46640
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   296
The blackbox extension is supported
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   297
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   298
  $ echo "[extensions]" >> $HGRCPATH
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   299
  $ echo "blackbox =" >> $HGRCPATH
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   300
  $ echo "[blackbox]" >> $HGRCPATH
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   301
  $ echo "maxsize = 1" >> $HGRCPATH
46736
a6553ba1c598 tests: Enable rhg fallback to Python by default in tests
Simon Sapin <simon.sapin@octobus.net>
parents: 46706
diff changeset
   302
  $ $NO_FALLBACK rhg files > /dev/null
46640
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   303
  $ cat .hg/blackbox.log
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   304
  ????/??/?? ??:??:??.??? * @d3873e73d99ef67873dac33fbcc66268d5d2b6f4 (*)> (rust) files exited 0 after 0.??? seconds (glob)
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   305
  $ cat .hg/blackbox.log.1
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   306
  ????/??/?? ??:??:??.??? * @d3873e73d99ef67873dac33fbcc66268d5d2b6f4 (*)> (rust) files (glob)
755c31a1caf9 rhg: Add support for the blackbox extension
Simon Sapin <simon.sapin@octobus.net>
parents: 46630
diff changeset
   307