tests/test-diff-subdir.t
author Durham Goode <durham@fb.com>
Mon, 04 Jan 2016 16:14:04 -0800
changeset 27622 0bc71f45d362
parent 24455 16961d43dc89
permissions -rw-r--r--
cmdutil: pass node instead of ctx to diffordiffstat 93bcc73df8d5 changed showpatch to use ctx's more, but it accidentally passed prev as a context and node as a binary string, when both should be passed as binary strings (since diffordiffstat tries to resolve them via repo[X]). This affected hggit since the existing ctx belongs to the git overlay, but the resolved context (from the repo[X] resolution) should belong to the main repo. This broke a test because it tried to look in the git repo for data that didn't exist. This feels like a deeper issue in hggit somewhere, but the fix is here trivial and obviously more correct

  $ 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

relative to beta

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

inside beta

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

  $ cd ..