tests/test-revlog-group-emptyiter.t
author Pulkit Goyal <pulkit@yandex-team.ru>
Mon, 04 Feb 2019 18:14:03 +0300
changeset 41528 b7a0efb3c370
parent 16913 f2719b387380
permissions -rw-r--r--
match: teach diffmatcher.visitdir() to return 'all' if possible This patch teaches differencematcher.visitdir() to return 'all' when m1.visitdir() returns 'all' and m2 does not matches. Before this patch, from a differencematcher.visitdir(), we always returned either True or False. We never returned 'all' even when we can. This causes problem when m1 and m2 of a differencematcher are themselves differencematcher. In that case, we try to check: `if self._m2_.visitdir(dir) == 'all'` which will never be 'all' even though it can be. This leads to iterating over a lot of sub-directory manifest, even though we don't want to while extending a narrow clone. I am yet to measure the impact of this but calculating manifest was taking ~50-60 seconds, so this should definitely save some of time there. Differential Revision: https://phab.mercurial-scm.org/D5814

Issue1678: IndexError when pushing

setting up base repo
  $ hg init a
  $ cd a
  $ touch a
  $ hg ci -Am a
  adding a
  $ cd ..

cloning base repo
  $ hg clone a b
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ cd b

setting up cset to push
  $ hg up null
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ touch a
different msg so we get a clog new entry
  $ hg ci -Am b
  adding a
  created new head

pushing
  $ hg push -f ../a
  pushing to ../a
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 1 changesets with 0 changes to 0 files (+1 heads)

  $ cd ..