tests/test-dirstate-backup.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 18 Apr 2023 01:23:27 +0200
branchstable
changeset 50424 f952be90b051
parent 49990 ffd19d73518d
permissions -rw-r--r--
revlog-split: make sure the self._indexfile attribut is reset (issue6811) Before this change, after a transaction committing a file split, a revlog object would have its `self._indexfile` attribute desynchronised from the actual file storing the data. If that same object is reused (as we do for the manifest during clone bundles), this lead to the data being writting in the wrong location and the repository to go corrupt. We not properly reset the attribut when applicable and everything is back in working order.

Set up

  $ hg init repo
  $ cd repo
  $ echo a > a
  $ hg add a
  $ hg commit -m a

Try to import an empty patch

  $ hg import --no-commit - <<EOF
  > EOF
  applying patch from stdin
  abort: stdin: no diffs found
  [10]

No dirstate backups are left behind

  $ ls .hg/dirstate* | sort
  .hg/dirstate