tests/test-convert-bzr-treeroot.t
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 28 Mar 2018 10:40:41 -0700
changeset 37295 45b39c69fae0
parent 32958 75be14993fda
child 39723 5abc47d4ca6b
permissions -rw-r--r--
wireproto: separate commands tables for version 1 and 2 commands We can't easily reuse existing command handlers for version 2 commands because the response types will be different. e.g. many commands return nodes encoded as hex. Our new wire protocol is binary safe, so we'll wish to encode nodes as binary. We /could/ teach each command handler to look at the protocol handler and change behavior based on the version in use. However, this would make logic a bit unwieldy over time and would make it harder to design a unified protocol handler interface. I think it's better to create a clean break between version 1 and version 2 of commands on the server. What I imagine happening is we will have separate @wireprotocommand functions for each protocol generation. Those functions will parse the request, dispatch to a common function to process it, then generate the response in its own, transport-specific manner. This commit establishes a separate table for tracking version 1 commands from version 2 commands. The HTTP server pieces have been updated to use this new table. Most commands are marked as both version 1 and version 2, so there is little practical impact to this change. A side-effect of this change is we now rely on transport registration in wireprototypes.TRANSPORTS and certain properties of the protocol interface. So a test had to be updated to conform. Differential Revision: https://phab.mercurial-scm.org/D2982
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26066
89872688893f tests: move '#require bzr' into .t files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 16913
diff changeset
     1
#require bzr
7053
209ef5f3534c convert: add bzr source
Marek Kubica <marek@xivilization.net>
parents:
diff changeset
     2
12517
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     3
  $ . "$TESTDIR/bzr-definitions"
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     4
  $ cat > treeset.py <<EOF
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     5
  > import sys
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     6
  > from bzrlib import workingtree
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     7
  > wt = workingtree.WorkingTree.open('.')
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     8
  > 
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
     9
  > message, rootid = sys.argv[1:]
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    10
  > wt.set_root_id('tree_root-%s' % rootid)
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    11
  > wt.commit(message)
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    12
  > EOF
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    13
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    14
change the id of the tree root
7053
209ef5f3534c convert: add bzr source
Marek Kubica <marek@xivilization.net>
parents:
diff changeset
    15
12517
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    16
  $ mkdir test-change-treeroot-id
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    17
  $ cd test-change-treeroot-id
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    18
  $ bzr init -q source
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    19
  $ cd source
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    20
  $ echo content > file
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    21
  $ bzr add -q file
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    22
  $ bzr commit -q -m 'Initial add'
32958
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 26066
diff changeset
    23
  $ $PYTHON ../../treeset.py 'Changed root' new
12517
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    24
  $ cd ..
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    25
  $ hg convert source source-hg
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    26
  initializing destination source-hg repository
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    27
  scanning source...
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    28
  sorting...
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    29
  converting...
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    30
  1 Initial add
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    31
  0 Changed root
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    32
  $ manifest source-hg tip
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    33
  % manifest of tip
cc8f1083e8be tests: unify test-convert-bzr-treeroot
Matt Mackall <mpm@selenic.com>
parents: 7058
diff changeset
    34
  644   file
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12517
diff changeset
    35
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 12517
diff changeset
    36
  $ cd ..