Mercurial > hg
annotate tests/test-push-checkheads-partial-C1.t @ 37533:df4985497986
wireproto: implement capabilities for wire protocol v2
The capabilities mechanism for wire protocol version 2 represents a
clean break from version 1.
Instead of effectively exchanging a set of capabilities, we're
exchanging a rich data structure.
This data structure currently contains information about
every available command, including its accepted arguments. It also
contains information about supported compression formats.
Exposing information about supported commands will allow clients
to automatically generate bindings to the server. Clients will be
able to do things like detect when they are attempting to run a
command that isn't known to the server. Exposing the required
permissions to run a command can be used by clients to determine if
they have privileges to call a command before actually calling it.
We could potentially even have clients send credentials
preemptively without waiting for the server to deny the command
request. Lots of potential here.
The data returned by this command will likely evolve heavily. So we
shouldn't bikeshed the implementation just yet.
Differential Revision: https://phab.mercurial-scm.org/D3200
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 09 Apr 2018 11:52:31 -0700 |
parents | 4441705b7111 |
children | 89630d0b3e23 |
rev | line source |
---|---|
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 ==================================== |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 Testing head checking code: Case C-2 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 ==================================== |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 Mercurial checks for the introduction of new heads on push. Evolution comes |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 into play to detect if existing branches on the server are being replaced by |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 some of the new one we push. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
8 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
9 This case is part of a series of tests checking this behavior. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
10 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 Category C: checking case were the branch is only partially obsoleted. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
12 TestCase 1: 2 changeset branch, only the head is rewritten |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 .. old-state: |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 .. * 2 changeset branch |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 .. new-state: |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 .. * 1 new changesets branches superceeding only the head of the old one |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 .. * base of the old branch is still alive |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 .. expected-result: |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 .. * push denied |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 .. graph-summary: |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 .. |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 .. B ø⇠◔ B' |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 .. | | |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 .. A ○ | |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 .. |/ |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 .. ○ |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 $ . $TESTDIR/testlib/push-checkheads-util.sh |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 Test setup |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 ---------- |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 $ mkdir C1 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 $ cd C1 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 $ setuprepos |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 creating basic server and client repo |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 updating to branch default |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 $ cd server |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
47 $ mkcommit B0 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
48 $ cd ../client |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
49 $ hg pull |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
50 pulling from $TESTTMP/C1/server |
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 searching for changes |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 adding changesets |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 adding manifests |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
54 adding file changes |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
55 added 1 changesets with 1 changes to 1 files |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
33542
diff
changeset
|
56 new changesets d73caddc5533 |
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 (run 'hg update' to get a working copy) |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 $ hg up 0 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
59 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 $ mkcommit B1 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 created new head |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"` |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
32330
diff
changeset
|
63 obsoleted 1 changesets |
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 $ hg log -G --hidden |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 @ 25c56d33e4c4 (draft): B1 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 | |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 | x d73caddc5533 (draft): B0 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 | | |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 | o 8aaa48160adc (draft): A0 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 |/ |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 o 1e4be0697311 (public): root |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 Actual testing |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 -------------- |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 $ hg push |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34661
diff
changeset
|
78 pushing to $TESTTMP/C1/server |
32330
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 searching for changes |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 abort: push creates new remote head 25c56d33e4c4! |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 (merge or see 'hg help push' for details about pushing new heads) |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 [255] |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 |
ab5f5429e3d2
tests: add missing 'test-push-checkheads-partial-C1.t'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 $ cd ../.. |