tests/test-diff-subdir.t
author Matt Mackall <mpm@selenic.com>
Mon, 18 Jul 2016 16:25:35 -0500
branchstable
changeset 29630 67b180c0e263
parent 24455 16961d43dc89
permissions -rw-r--r--
extdiff: escape path for docstring (issue5301) The existing code (a) assumed path would be specified in encoding.encoding and (b) assumed unicode() objects wouldn't cause other parts of Mercurial to blow up. Both are dangerous assumptions. Since we don't know the encoding of path and can't pass non-ASCII through docstrings, just escape the path and drop the early _(). Will have to suffice until we can teach docstrings to handle UTF-8b escaping. This has the side-effect that the line containing the path is now variable by the time it reaches _() and thus can't be translated.

  $ 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 ..