view tests/test-empty-manifest-index.t @ 48232:f7fd629ffb98

dirstate-v2: Separate HAS_FILE_MTIME and HAS_DIRECTORY_MTIME flags Previously the same flag was used, with its meaning based on whether the node otherwise identifies a file tracked anywhere. In addition to being more explicit, this enables storing a directory mtime if a given path used to be tracked in a parent commit (so the dirstate still has data about it) but became a directory in the working copy. (However this is not done yet as it would require a larger change, replacing the `dirstate_map::NodeData` enum with struct fields.) Differential Revision: https://phab.mercurial-scm.org/D11662
author Simon Sapin <simon.sapin@octobus.net>
date Thu, 14 Oct 2021 16:39:16 +0200
parents 9d0e5629cfbf
children
line wrap: on
line source

Test null revisions (node 0000000000000000000000000000000000000000, aka rev -1)
in various circumstances.

Make an empty repo:

  $ hg init a
  $ cd a

  $ hg files -r 0000000000000000000000000000000000000000
  [1]
  $ hg files -r .
  [1]

Add an empty commit (this makes the changelog refer to a null manifest node):


  $ hg commit -m "init" --config ui.allowemptycommit=true

  $ hg files -r .
  [1]

Strip that empty commit (this makes the changelog file empty, as opposed to missing):

  $ hg --config 'extensions.strip=' strip . > /dev/null

  $ hg files -r .
  [1]