tests/test-diff-subdir.t
author Durham Goode <durham@fb.com>
Mon, 17 Jun 2013 19:44:00 -0700
changeset 19326 7014526d67a8
parent 16913 f2719b387380
child 24432 e22248f6d257
permissions -rw-r--r--
revlog: add exception when linkrev == nullrev When we deployed the latest crew mercurial to our users, a few of them had issues where a filelog would have an entry with a -1 linkrev. This caused operations like rebase and amend to create a bundle containing the entire repository, which took a long time. I don't know what the issue is, but adding this check should prevent repos from getting in this state, and should help us pinpoint the issue next time it happens.

  $ hg init

  $ mkdir alpha
  $ touch alpha/one
  $ mkdir beta
  $ touch beta/two

  $ hg add alpha/one beta/two
  $ hg ci -m "start"

  $ echo 1 > alpha/one
  $ echo 2 > beta/two

everything

  $ hg diff --nodates
  diff -r 7d5ef1aea329 alpha/one
  --- a/alpha/one
  +++ b/alpha/one
  @@ -0,0 +1,1 @@
  +1
  diff -r 7d5ef1aea329 beta/two
  --- a/beta/two
  +++ b/beta/two
  @@ -0,0 +1,1 @@
  +2

beta only

  $ hg diff --nodates beta
  diff -r 7d5ef1aea329 beta/two
  --- a/beta/two
  +++ b/beta/two
  @@ -0,0 +1,1 @@
  +2

inside beta

  $ cd beta
  $ hg diff --nodates .
  diff -r 7d5ef1aea329 beta/two
  --- a/beta/two
  +++ b/beta/two
  @@ -0,0 +1,1 @@
  +2

  $ cd ..