tests/test-diff-hashes.t
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Tue, 05 Nov 2013 18:37:44 +0100
changeset 20221 7401bb54fe76
parent 16913 f2719b387380
child 41784 251332dbf33d
permissions -rw-r--r--
push: more robust check for bundle fast path When all changesets in the local repo are either being pushed or remotly known, we can take a fast path when bundling changeset because we are certain all local deltas are computed againts base known remotely. So we have a check to detect this situation, when we did a bare push and nothing was excluded. In a coming refactoring, the discovery will run on filtered view and the content of `outgoing.excluded` will just include unserved (secret) changeset not filtered by the repoview used to call push (usually "visible"). So we need to check if there is both no excluded changeset and nothing filtered by the current repoview.

  $ hg init a
  $ cd a

  $ hg diff inexistent1 inexistent2
  inexistent1: * (glob)
  inexistent2: * (glob)

  $ echo bar > foo
  $ hg add foo
  $ hg ci -m 'add foo'

  $ echo foobar > foo
  $ hg ci -m 'change foo'

  $ hg --quiet diff -r 0 -r 1
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ hg diff -r 0 -r 1
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ hg --verbose diff -r 0 -r 1
  diff -r a99fb63adac3 -r 9b8568d3af2f foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ hg --debug diff -r 0 -r 1
  diff -r a99fb63adac3f31816a22f665bc3b7a7655b30f4 -r 9b8568d3af2f1749445eef03aede868a6f39f210 foo
  --- a/foo	Thu Jan 01 00:00:00 1970 +0000
  +++ b/foo	Thu Jan 01 00:00:00 1970 +0000
  @@ -1,1 +1,1 @@
  -bar
  +foobar

  $ cd ..