tests/test-merge5.t
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 12 Sep 2018 10:01:58 -0700
changeset 39633 ff2de4f2eb3c
parent 28065 6b1fc09c699a
child 45840 527ce85c2e60
permissions -rw-r--r--
exchangev2: fetch and apply phases data Now that the server supports emitting phases data, we can request it and apply it on the client. Because we may receive phases-only updates from the server, we no longer conditionally perform the "changesetdata" command depending on whether there are revisions to fetch. In the previous wire protocol, this case would result in us falling back to performing "listkeys" commands to look up phases, bookmarks, etc data. But since "changesetdata" is smart enough to handle metadata only fetches, we can keep things consistent. It's worth noting that because of the unified approach to changeset data retrieval, phase handling code in wire proto v2 exchange is drastically simpler. Contrast with all the code in exchange.py dealing with all the variations for obtaining phases data. Differential Revision: https://phab.mercurial-scm.org/D4484

  $ hg init
  $ echo This is file a1 > a
  $ echo This is file b1 > b
  $ hg add a b
  $ hg commit -m "commit #0"
  $ echo This is file b22 > b
  $ hg commit -m "comment #1"
  $ hg update 0
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm b
  $ hg commit -A -m "comment #2"
  removing b
  created new head
  $ hg update 1
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ rm b
  $ hg update -c 2
  abort: uncommitted changes
  [255]
  $ hg revert b
  $ hg update -c 2
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ mv a c

Should abort:

  $ hg update 1
  abort: uncommitted changes
  (commit or update --clean to discard changes)
  [255]
  $ mv c a

Should succeed:

  $ hg update 1
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved