tests/test-push-checkheads-partial-C1.t
author Matt Harbison <matt_harbison@yahoo.com>
Sun, 08 Apr 2018 14:22:12 -0400
changeset 37564 31a4ea773369
parent 35393 4441705b7111
child 39480 89630d0b3e23
permissions -rw-r--r--
lfs: infer the blob store URL from an explicit push dest or default-push Unlike pull, the blobs are uploaded within the exchange.push() window, so simply wrap it and swap in a properly configured remote store. The '_subtoppath' field shouldn't be available during this window, but give the passed path priority for clarity. At one point I hit an AttributeError in one of the convert tests when trying to save the original remote blobstore when the swap was run unconditionally. I wrapped it in a util.safehasattr(), but then today I wasn't able to reproduce it. But now the whole thing is tucked under the requirement guard because without the requirement, there are no blobs in the repo, even if the extension is loaded.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ../..