view tests/test-issue672.t @ 36611:6906547c8476

wireproto: don't expose legacy commands to version 2 of wire protocol Now that we have the ability to control which transports a wire protocol command is exposed on, let's put it to use. We flag the "branches," "changegroup," and "changegroupsubset" commands as only available on version 1. "branches" was used by the legacy discovery mechanism and was replaced by the "known" and "heads" commands. "changegroup" and "changegroupsubset" were replaced by "getbundle." "between" is also legacy. However, since it is used by the SSH handshake protocol, marking it as legacy is a bit more complicated and will be done in a later commit. Another nuanced issue with this change is that the server-advertised capabilities still list "changegroupsubset" despite the command not being available. This will be addressed in a subsequent commit. Differential Revision: https://phab.mercurial-scm.org/D2485
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 27 Feb 2018 15:06:10 -0800
parents 4d504e541d3d
children 91a0bc50b288
line wrap: on
line source

https://bz.mercurial-scm.org/672

# 0-2-4
#  \ \ \
#   1-3-5
#
# rename in #1, content change in #4.

  $ hg init

  $ touch 1
  $ touch 2
  $ hg commit -Am init  # 0
  adding 1
  adding 2

  $ hg rename 1 1a
  $ hg commit -m rename # 1

  $ hg co -C 0
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ echo unrelated >> 2
  $ hg ci -m unrelated1 # 2
  created new head

  $ hg merge --debug 1
    searching for copies back to rev 1
    unmatched files in other:
     1a
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
     src: '1' -> dst: '1a' 
    checking for directory renames
  resolving manifests
   branchmerge: True, force: False, partial: False
   ancestor: 81f4b099af3d, local: c64f439569a9+, remote: c12dcd37c90a
   1: other deleted -> r
  removing 1
   1a: remote created -> g
  getting 1a
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
  (branch merge, don't forget to commit)

  $ hg ci -m merge1 # 3

  $ hg co -C 2
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ echo hello >> 1
  $ hg ci -m unrelated2 # 4
  created new head

  $ hg co -C 3
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ hg merge -y --debug 4
    searching for copies back to rev 1
    unmatched files in local:
     1a
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
     src: '1' -> dst: '1a' *
    checking for directory renames
  resolving manifests
   branchmerge: True, force: False, partial: False
   ancestor: c64f439569a9, local: e327dca35ac8+, remote: 746e9549ea96
   preserving 1a for resolve of 1a
  starting 4 threads for background file closing (?)
   1a: local copied/moved from 1 -> m (premerge)
  picked tool ':merge' for 1a (binary False symlink False changedelete False)
  merging 1a and 1 to 1a
  my 1a@e327dca35ac8+ other 1@746e9549ea96 ancestor 1@c64f439569a9
   premerge successful
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
  (branch merge, don't forget to commit)

  $ hg co -C 4
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved

  $ hg merge -y --debug 3
    searching for copies back to rev 1
    unmatched files in other:
     1a
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
     src: '1' -> dst: '1a' *
    checking for directory renames
  resolving manifests
   branchmerge: True, force: False, partial: False
   ancestor: c64f439569a9, local: 746e9549ea96+, remote: e327dca35ac8
   preserving 1 for resolve of 1a
  removing 1
  starting 4 threads for background file closing (?)
   1a: remote moved from 1 -> m (premerge)
  picked tool ':merge' for 1a (binary False symlink False changedelete False)
  merging 1 and 1a to 1a
  my 1a@746e9549ea96+ other 1a@e327dca35ac8 ancestor 1@c64f439569a9
   premerge successful
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
  (branch merge, don't forget to commit)