tests/test-convert-bzr-114.t
author Georges Racinet <georges.racinet@octobus.net>
Tue, 18 Feb 2020 19:11:17 +0100
changeset 44389 6329ce04c69f
parent 26066 89872688893f
child 47377 26127236b229
permissions -rw-r--r--
rust-nodemap: accounting for dead blocks By the very append-only nature of the `NodeTree`, inserting new blocks has the effect of making some of the older ones useless as they become unreachable. Therefore some automatic housekeeping will need to be provided. This is standard procedure in the word of databases, under names such as "repack" or "vacuum". The new `masked_readonly_blocks()` will provide callers with useful information to decide if the nodetree is ripe for repacking, but all the `NodeTree` can provide is how many blocks have been masked in the currently mutable part. Analysing the readonly part would be way too long to do it for each transaction and defeat the whole purpose of nodemap persistence. Serializing callers (from the Python layer) will get this figure before each extraction and maintain an aggregate counter of unreachable blocks separately. Note: at this point, the most efficient repacking is just to restart afresh with a full rescan. Differential Revision: https://phab.mercurial-scm.org/D8097
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26066
89872688893f tests: move '#require bzr' into .t files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 22046
diff changeset
     1
#require bzr bzr114
12513
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
     2
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
     3
  $ . "$TESTDIR/bzr-definitions"
8126
13b36eb14324 convert/bzr: handle files replaced by directories (issue1623)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
12513
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
     5
The file/directory replacement can only be reproduced on
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
     6
bzr >= 1.4. Merge it back in test-convert-bzr-directories once
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
     7
this version becomes mainstream.
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
     8
replace file with dir
8126
13b36eb14324 convert/bzr: handle files replaced by directories (issue1623)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
12513
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    10
  $ mkdir test-replace-file-with-dir
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    11
  $ cd test-replace-file-with-dir
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    12
  $ bzr init -q source
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    13
  $ cd source
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    14
  $ echo d > d
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    15
  $ bzr add -q d
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    16
  $ bzr commit -q -m 'add d file'
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    17
  $ rm d
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    18
  $ mkdir d
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    19
  $ bzr add -q d
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    20
  $ bzr commit -q -m 'replace with d dir'
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    21
  $ echo a > d/a
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    22
  $ bzr add -q d/a
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    23
  $ bzr commit -q -m 'add d/a'
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    24
  $ cd ..
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    25
  $ hg convert source source-hg
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    26
  initializing destination source-hg repository
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    27
  scanning source...
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    28
  sorting...
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    29
  converting...
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    30
  2 add d file
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    31
  1 replace with d dir
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    32
  0 add d/a
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    33
  $ manifest source-hg tip
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    34
  % manifest of tip
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    35
  644   d/a
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    36
  $ cd source-hg
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    37
  $ hg update
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    38
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d1f88ae495b4 tests: unify test-convert-bzr-114
Matt Mackall <mpm@selenic.com>
parents: 8126
diff changeset
    39
  $ cd ../..