tests/test-empty.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Wed, 31 Dec 2014 17:55:43 +0900
changeset 23711 1e6fb8db666e
parent 19929 ab2362e1672e
child 39489 f1186c292d03
permissions -rw-r--r--
context: avoid breaking already fixed self._status at ctx.status() Before this patch, "status()" on "workingcommitctx" with "always match" object causes breaking "self._status" in "workingctx._buildstatus()", because "workingctx._buildstatus()" caches the result of "dirstate.status()" into "self._status" for efficiency, even though it should be fixed at construction for committing. For example, template function "diff()" without any patterns in "committemplate" implies "status()" on "workingcommitctx" with "always match" object, via "basectx.diff()" and "patch.diff()". Then, broken "self._status" causes committing unexpected files. To avoid breaking already fixed "self._status" at "ctx.status()", this patch overrides "_buildstatus" in "workingcommitctx". This patch doesn't write out the result of template function "diff()" in "committemplate" in "test-commit.t", because matching against files to be committed still has an issue fixed in subsequent patch.
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
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    17
  0 files, 0 changesets, 0 total revisions
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
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    23
  requires
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    24
  store
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    25
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    26
Should be empty:
1338
2b77ea66fe70 Add empty repo test
mpm@selenic.com
parents:
diff changeset
    27
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    28
  $ ls .hg/store
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    29
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    30
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
    31
11743
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    32
  $ cd ..
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    33
  $ hg clone a b
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    34
  updating to branch default
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    35
  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
    36
  $ cd b
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    37
  $ hg verify
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    38
  checking changesets
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    39
  checking manifests
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    40
  crosschecking files in changesets and manifests
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    41
  checking files
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    42
  0 files, 0 changesets, 0 total revisions
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    43
  $ ls .hg
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    44
  00changelog.i
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    45
  hgrc
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    46
  requires
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    47
  store
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    48
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    49
Should be empty:
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    50
fc12420efcf4 tests: unify test-empty
Matt Mackall <mpm@selenic.com>
parents: 6944
diff changeset
    51
  $ ls .hg/store
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
    52
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12316
diff changeset
    53
  $ cd ..