tests/test-empty.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 10 Dec 2021 16:18:58 +0100
changeset 48454 473af5cbc209
parent 47447 377d8fc20e34
child 48669 7ee07e1a25c0
permissions -rw-r--r--
rhg: Add support for `rhg status --copies` Copy sources are collected during `status()` rather than after the fact like in Python, because `status()` takes a `&mut` exclusive reference to the dirstate map (in order to potentially mutate it for directory mtimes) and returns `Cow<'_, HgPath>` that borrow the dirstate map. Even though with `Cow` only some shared borrows remain, the still extend the same lifetime of the initial `&mut` so the dirstate map cannot be borrowed again to access copy sources after the fact: https://doc.rust-lang.org/nomicon/lifetime-mismatch.html#limits-of-lifetimes Additionally, collecting copy sources during the dirstate tree traversal that `status()` already does avoids the cost of another traversal or other lookups (though I haven’t benchmarked that cost). Differential Revision: https://phab.mercurial-scm.org/D11899
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     1
Create an empty repo:
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     2
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     3
  $ hg init a
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     4
  $ cd a
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     5
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     6
Try some commands:
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     7
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     8
  $ hg log
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
     9
  $ hg grep wah
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11743
diff changeset
    10
  [1]
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    11
  $ hg manifest
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    12
  $ hg verify
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    13
  checking changesets
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    14
  checking manifests
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    15
  crosschecking files in changesets and manifests
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    16
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 19929
diff changeset
    17
  checked 0 changesets with 0 changes to 0 files
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    18
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    19
Check the basic files created:
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    20
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    21
  $ ls .hg
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    22
  00changelog.i
40793
64cdfcc73706 cache: create `cache` directory at init time
Boris Feld <boris.feld@octobus.net>
parents: 39489
diff changeset
    23
  cache
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    24
  requires
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    25
  store
40794
d5622dfe4ba3 cache: create `wcache` directory at init time
Boris Feld <boris.feld@octobus.net>
parents: 40793
diff changeset
    26
  wcache
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    27
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    28
Should be empty:
1338
2b77ea66fe70 Add empty repo test
mpm@selenic.com
parents:
diff changeset
    29
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    30
  $ ls .hg/store
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    31
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    32
Poke at a clone:
6944
7e5f3480c45b fix regression on empty repo cloning introduced by 0642d9d7ec80
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1338
diff changeset
    33
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    34
  $ cd ..
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    35
  $ hg clone a b
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    36
  updating to branch default
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    37
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    38
  $ cd b
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    39
  $ hg verify
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    40
  checking changesets
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    41
  checking manifests
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    42
  crosschecking files in changesets and manifests
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    43
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 19929
diff changeset
    44
  checked 0 changesets with 0 changes to 0 files
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    45
  $ ls .hg
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    46
  00changelog.i
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40794
diff changeset
    47
  cache
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47442
diff changeset
    48
  dirstate
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    49
  hgrc
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    50
  requires
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    51
  store
47442
d1c1fd7ac46d clone: use "official" API to create local clone destination
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46314
diff changeset
    52
  wcache
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    53
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    54
Should be empty:
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    55
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    56
  $ ls .hg/store
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
    57
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
    58
  $ cd ..