tests/test-push-race.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 28 Feb 2024 22:01:09 +0100
changeset 51472 749e7685935a
parent 50799 02eae2df911a
permissions -rw-r--r--
stream-clone-test: simplify the case where server disabled it We have an option to disable it, we don't need to test it with all protocol variants. In addition there is little value in looking at the bytes to bytes details of the reply. Such check is very fragile and consume a lot of time for little value when adjusting formats, caches, and protocol.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
============================================================================================
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
Test cases where there are race condition between two clients pushing to the same repository
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
============================================================================================
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
This file tests cases where two clients push to a server at the same time. The
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
"raced" client is done preparing it push bundle when the "racing" client
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
perform its push. The "raced" client starts its actual push after the "racing"
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
client push is fully complete.
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
A set of extension and shell functions ensures this scheduling.
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    11
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
  $ cat >> delaypush.py << EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
  > """small extension orchestrate push race
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
  > 
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  > Client with the extensions will create a file when ready and get stuck until
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  > a file is created."""
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  > 
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  > import errno
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  > import os
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  > import time
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  > 
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  > from mercurial import (
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  >     exchange,
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  >     extensions,
34767
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    25
  >     registrar,
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    26
  > )
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    27
  > 
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    28
  > configtable = {}
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    29
  > configitem = registrar.configitem(configtable)
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    30
  > 
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    31
  > configitem(b'delaypush', b'ready-path',
34767
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    32
  >     default=None,
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    33
  > )
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    34
  > configitem(b'delaypush', b'release-path',
34767
6338e23c887d configitems: register the test config in 'test-push-race.t'
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
    35
  >     default=None,
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
  > )
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    37
  > 
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  > def delaypush(orig, pushop):
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    39
  >     # notify we are done preparing
33314
7d8d2da4516c tests: fix reference to undefined variable
Martin von Zweigbergk <martinvonz@google.com>
parents: 33262
diff changeset
    40
  >     ui = pushop.repo.ui
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    41
  >     readypath = ui.config(b'delaypush', b'ready-path')
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    42
  >     if readypath is not None:
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    43
  >         with open(readypath, 'w') as r:
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    44
  >             r.write('foo')
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    45
  >         ui.status(b'wrote ready: %s\n' % readypath)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    46
  >     # now wait for the other process to be done
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    47
  >     watchpath = ui.config(b'delaypush', b'release-path')
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
  >     if watchpath is not None:
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    49
  >         ui.status(b'waiting on: %s\n' % watchpath)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
  >         limit = 100
49656
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    51
  >         test_default_timeout = os.environ.get('HGTEST_TIMEOUT_DEFAULT')
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    52
  >         test_timeout = os.environ.get('HGTEST_TIMEOUT')
50273
5069a89a936e tests: fix timeout adjustement in delaypush.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49656
diff changeset
    53
  >         if test_default_timeout is not None:
5069a89a936e tests: fix timeout adjustement in delaypush.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49656
diff changeset
    54
  >            test_default_timeout = int(test_default_timeout)
5069a89a936e tests: fix timeout adjustement in delaypush.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49656
diff changeset
    55
  >         if test_timeout is not None:
5069a89a936e tests: fix timeout adjustement in delaypush.py
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49656
diff changeset
    56
  >            test_timeout = int(test_timeout)
49656
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    57
  >         if (
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    58
  >             test_default_timeout is not None
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    59
  >             and test_timeout is not None
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    60
  >             and test_default_timeout < test_timeout
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    61
  >         ):
c6f0bcb7bc57 test: adjust test-push-race.t timeout's to overall test timeout
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49306
diff changeset
    62
  >             limit = int(limit * (test_timeout / test_default_timeout))
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    63
  >         while 0 < limit and not os.path.exists(watchpath):
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    64
  >             limit -= 1
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
  >             time.sleep(0.1)
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  >         if limit <= 0:
40870
d3d52cc91e83 py3: byteify test-push-race.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40147
diff changeset
    67
  >             ui.warn(b'exiting without watchfile: %s' % watchpath)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
  >         else:
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
  >             # delete the file at the end of the push
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  >             def delete():
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  >                 try:
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  >                     os.unlink(watchpath)
49306
2e726c934fcd py3: catch FileNotFoundError instead of checking errno == ENOENT
Manuel Jacob <me@manueljacob.de>
parents: 47920
diff changeset
    73
  >                 except FileNotFoundError:
2e726c934fcd py3: catch FileNotFoundError instead of checking errno == ENOENT
Manuel Jacob <me@manueljacob.de>
parents: 47920
diff changeset
    74
  >                     pass
34507
30ae924a9e00 test-push-race: use 'ui.atexit' instead of python's 'atexit'
Saurabh Singh <singhsrb@fb.com>
parents: 33773
diff changeset
    75
  >             ui.atexit(delete)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  >     return orig(pushop)
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  > 
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  > def uisetup(ui):
50799
02eae2df911a wrapfunction: use sysstr instead of bytes as argument in various tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50273
diff changeset
    79
  >     extensions.wrapfunction(exchange, '_pushbundle2', delaypush)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
  > EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  $ waiton () {
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  >     # wait for a file to be created (then delete it)
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
  >     count=100
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    85
  >     while [ ! -f $1 ] ;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    86
  >     do
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
  >         sleep 0.1;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  >         count=`expr $count - 1`;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    89
  >         if [ $count -lt 0 ];
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
  >         then
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
  >              break
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  >         fi;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
  >     done
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
  >     [ -f $1 ] || echo "ready file still missing: $1"
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    95
  >     rm -f $1
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
  > }
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
  $ release () {
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  >     # create a file and wait for it be deleted
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  >     count=100
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  >     touch $1
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
  >     while [ -f $1 ] ;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
  >     do
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
  >         sleep 0.1;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   105
  >         count=`expr $count - 1`;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   106
  >         if [ $count -lt 0 ];
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   107
  >         then
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   108
  >              break
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   109
  >         fi;
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   110
  >     done
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   111
  >     [ ! -f $1 ] || echo "delay file still exist: $1"
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
  > }
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   113
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
  $ cat >> $HGRCPATH << EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   115
  > [ui]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   116
  > # simplify output
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   117
  > logtemplate = {node|short} {desc} ({branch})
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
   118
  > [phases]
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
   119
  > publish = no
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
   120
  > [experimental]
34865
a0100f34e20b config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents: 34767
diff changeset
   121
  > evolution=true
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
  > [alias]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   123
  > graph = log -G --rev 'sort(all(), "topo")'
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   124
  > EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   125
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   126
We tests multiple cases:
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   127
* strict: no race detected,
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   128
* unrelated: race on unrelated heads are allowed.
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   129
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   130
#testcases strict unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   131
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42893
diff changeset
   132
#if strict
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   133
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   134
  $ cat >> $HGRCPATH << EOF
32892
a7851519ea02 check-concurrency: expose the feature as 'concurrent-push-mode'
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32709
diff changeset
   135
  > [server]
44412
edc8504bc26b exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42893
diff changeset
   136
  > concurrent-push-mode = strict
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   137
  > EOF
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   138
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   139
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   140
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   141
Setup
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   142
-----
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   143
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   144
create a repo with one root
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   145
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   146
  $ hg init server
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   147
  $ cd server
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
  $ echo root > root
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   149
  $ hg ci -Am "C-ROOT"
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   150
  adding root
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   151
  $ cd ..
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   152
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   153
clone it in two clients
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   154
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   155
  $ hg clone ssh://user@dummy/server client-racy
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   156
  requesting all changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   157
  adding changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   158
  adding manifests
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   159
  adding file changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   160
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   161
  new changesets 842e2fac6304 (1 drafts)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   162
  updating to branch default
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   163
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   164
  $ hg clone ssh://user@dummy/server client-other
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   165
  requesting all changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   166
  adding changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   167
  adding manifests
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   168
  adding file changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   169
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   170
  new changesets 842e2fac6304 (1 drafts)
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   171
  updating to branch default
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   172
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   173
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   174
setup one to allow race on push
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   175
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   176
  $ cat >> client-racy/.hg/hgrc << EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   177
  > [extensions]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   178
  > delaypush = $TESTTMP/delaypush.py
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   179
  > [delaypush]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   180
  > ready-path = $TESTTMP/readyfile
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   181
  > release-path = $TESTTMP/watchfile
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   182
  > EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   183
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   184
Simple race, both try to push to the server at the same time
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   185
------------------------------------------------------------
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   186
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   187
Both try to replace the same head
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   188
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   189
#  a
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   190
#  | b
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   191
#  |/
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   192
#  *
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   193
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   194
Creating changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   195
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   196
  $ echo b > client-other/a
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   197
  $ hg -R client-other/ add client-other/a
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   198
  $ hg -R client-other/ commit -m "C-A"
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   199
  $ echo b > client-racy/b
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   200
  $ hg -R client-racy/ add client-racy/b
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   201
  $ hg -R client-racy/ commit -m "C-B"
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   202
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   203
Pushing
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   204
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   205
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   206
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   207
  $ waiton $TESTTMP/readyfile
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   208
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   209
  $ hg -R client-other push -r 'tip'
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   210
  pushing to ssh://user@dummy/server
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   211
  searching for changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   212
  remote: adding changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   213
  remote: adding manifests
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   214
  remote: adding file changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   215
  remote: added 1 changesets with 1 changes to 1 files
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   216
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   217
  $ release $TESTTMP/watchfile
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   218
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   219
Check the result of the push
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   220
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   221
  $ cat ./push-log
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   222
  pushing to ssh://user@dummy/server
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   223
  searching for changes
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   224
  wrote ready: $TESTTMP/readyfile
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   225
  waiting on: $TESTTMP/watchfile
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   226
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   227
  'remote repository changed while pushing - please try again'
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   228
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   229
  $ hg -R server graph
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   230
  o  98217d5a1659 C-A (default)
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   231
  |
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   232
  @  842e2fac6304 C-ROOT (default)
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   233
  
32631
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   234
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   235
Pushing on two different heads
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   236
------------------------------
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   237
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   238
Both try to replace a different head
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   239
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   240
#  a b
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   241
#  | |
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   242
#  * *
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   243
#  |/
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   244
#  *
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   245
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   246
(resync-all)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   247
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   248
  $ hg -R ./server pull ./client-racy
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   249
  pulling from ./client-racy
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   250
  searching for changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   251
  adding changesets
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   252
  adding manifests
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   253
  adding file changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   254
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   255
  new changesets a9149a1428e2 (1 drafts)
32631
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   256
  (run 'hg heads' to see heads, 'hg merge' to merge)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   257
  $ hg -R ./client-other pull
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   258
  pulling from ssh://user@dummy/server
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   259
  searching for changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   260
  adding changesets
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   261
  adding manifests
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   262
  adding file changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   263
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   264
  new changesets a9149a1428e2 (1 drafts)
32631
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   265
  (run 'hg heads' to see heads, 'hg merge' to merge)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   266
  $ hg -R ./client-racy pull
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   267
  pulling from ssh://user@dummy/server
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   268
  searching for changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   269
  adding changesets
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   270
  adding manifests
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   271
  adding file changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   272
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   273
  new changesets 98217d5a1659 (1 drafts)
32631
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   274
  (run 'hg heads' to see heads, 'hg merge' to merge)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   275
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   276
  $ hg -R server graph
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   277
  o  a9149a1428e2 C-B (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   278
  |
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   279
  | o  98217d5a1659 C-A (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   280
  |/
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   281
  @  842e2fac6304 C-ROOT (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   282
  
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   283
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   284
Creating changesets
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   285
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   286
  $ echo aa >> client-other/a
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   287
  $ hg -R client-other/ commit -m "C-C"
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   288
  $ echo bb >> client-racy/b
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   289
  $ hg -R client-racy/ commit -m "C-D"
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   290
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   291
Pushing
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   292
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   293
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   294
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   295
  $ waiton $TESTTMP/readyfile
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   296
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   297
  $ hg -R client-other push -r 'tip'
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   298
  pushing to ssh://user@dummy/server
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   299
  searching for changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   300
  remote: adding changesets
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   301
  remote: adding manifests
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   302
  remote: adding file changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   303
  remote: added 1 changesets with 1 changes to 1 files
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   304
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   305
  $ release $TESTTMP/watchfile
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   306
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   307
Check the result of the push
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   308
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   309
#if strict
32631
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   310
  $ cat ./push-log
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   311
  pushing to ssh://user@dummy/server
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   312
  searching for changes
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   313
  wrote ready: $TESTTMP/readyfile
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   314
  waiting on: $TESTTMP/watchfile
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   315
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   316
  'remote repository changed while pushing - please try again'
32631
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   317
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   318
  $ hg -R server graph
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   319
  o  51c544a58128 C-C (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   320
  |
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   321
  o  98217d5a1659 C-A (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   322
  |
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   323
  | o  a9149a1428e2 C-B (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   324
  |/
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   325
  @  842e2fac6304 C-ROOT (default)
63afbc74a856 test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32630
diff changeset
   326
  
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   327
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   328
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   329
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   330
(The two heads are unrelated, push should be allowed)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   331
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   332
  $ cat ./push-log
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   333
  pushing to ssh://user@dummy/server
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   334
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   335
  wrote ready: $TESTTMP/readyfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   336
  waiting on: $TESTTMP/watchfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   337
  remote: adding changesets
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   338
  remote: adding manifests
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   339
  remote: adding file changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   340
  remote: added 1 changesets with 1 changes to 1 files
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   341
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   342
  $ hg -R server graph
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   343
  o  59e76faf78bd C-D (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   344
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   345
  o  a9149a1428e2 C-B (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   346
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   347
  | o  51c544a58128 C-C (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   348
  | |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   349
  | o  98217d5a1659 C-A (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   350
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   351
  @  842e2fac6304 C-ROOT (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   352
  
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   353
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   354
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   355
Pushing while someone creates a new head
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   356
-----------------------------------------
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   357
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   358
Pushing a new changeset while someone creates a new branch.
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   359
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   360
#  a (raced)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   361
#  |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   362
#  * b
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   363
#  |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   364
#  *
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   365
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   366
(resync-all)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   367
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   368
#if strict
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   369
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   370
  $ hg -R ./server pull ./client-racy
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   371
  pulling from ./client-racy
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   372
  searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   373
  adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   374
  adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   375
  adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   376
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   377
  new changesets 59e76faf78bd (1 drafts)
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   378
  (run 'hg update' to get a working copy)
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   379
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   380
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   381
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   382
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   383
  $ hg -R ./server pull ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   384
  pulling from ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   385
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   386
  no changes found
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   387
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   388
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   389
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   390
  $ hg -R ./client-other pull
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   391
  pulling from ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   392
  searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   393
  adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   394
  adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   395
  adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   396
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   397
  new changesets 59e76faf78bd (1 drafts)
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   398
  (run 'hg update' to get a working copy)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   399
  $ hg -R ./client-racy pull
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   400
  pulling from ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   401
  searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   402
  adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   403
  adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   404
  adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   405
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   406
  new changesets 51c544a58128 (1 drafts)
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   407
  (run 'hg update' to get a working copy)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   408
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   409
  $ hg -R server graph
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   410
  o  59e76faf78bd C-D (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   411
  |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   412
  o  a9149a1428e2 C-B (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   413
  |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   414
  | o  51c544a58128 C-C (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   415
  | |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   416
  | o  98217d5a1659 C-A (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   417
  |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   418
  @  842e2fac6304 C-ROOT (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   419
  
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   420
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   421
Creating changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   422
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   423
(new head)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   424
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   425
  $ hg -R client-other/ up 'desc("C-A")'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   426
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   427
  $ echo aaa >> client-other/a
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   428
  $ hg -R client-other/ commit -m "C-E"
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   429
  created new head
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   430
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   431
(children of existing head)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   432
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   433
  $ hg -R client-racy/ up 'desc("C-C")'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   434
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   435
  $ echo bbb >> client-racy/a
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   436
  $ hg -R client-racy/ commit -m "C-F"
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   437
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   438
Pushing
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   439
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   440
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   441
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   442
  $ waiton $TESTTMP/readyfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   443
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   444
  $ hg -R client-other push -fr 'tip'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   445
  pushing to ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   446
  searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   447
  remote: adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   448
  remote: adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   449
  remote: adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   450
  remote: added 1 changesets with 1 changes to 1 files (+1 heads)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   451
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   452
  $ release $TESTTMP/watchfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   453
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   454
Check the result of the push
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   455
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   456
#if strict
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   457
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   458
  $ cat ./push-log
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   459
  pushing to ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   460
  searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   461
  wrote ready: $TESTTMP/readyfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   462
  waiting on: $TESTTMP/watchfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   463
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   464
  'remote repository changed while pushing - please try again'
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   465
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   466
  $ hg -R server graph
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   467
  o  d603e2c0cdd7 C-E (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   468
  |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   469
  | o  51c544a58128 C-C (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   470
  |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   471
  o  98217d5a1659 C-A (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   472
  |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   473
  | o  59e76faf78bd C-D (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   474
  | |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   475
  | o  a9149a1428e2 C-B (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   476
  |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   477
  @  842e2fac6304 C-ROOT (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
   478
  
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   479
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   480
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   481
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   482
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   483
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   484
(The racing new head do not affect existing heads, push should go through)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   485
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   486
  $ cat ./push-log
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   487
  pushing to ssh://user@dummy/server
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   488
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   489
  wrote ready: $TESTTMP/readyfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   490
  waiting on: $TESTTMP/watchfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   491
  remote: adding changesets
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   492
  remote: adding manifests
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   493
  remote: adding file changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   494
  remote: added 1 changesets with 1 changes to 1 files
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   495
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   496
  $ hg -R server graph
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   497
  o  d9e379a8c432 C-F (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   498
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   499
  o  51c544a58128 C-C (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   500
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   501
  | o  d603e2c0cdd7 C-E (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   502
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   503
  o  98217d5a1659 C-A (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   504
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   505
  | o  59e76faf78bd C-D (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   506
  | |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   507
  | o  a9149a1428e2 C-B (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   508
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   509
  @  842e2fac6304 C-ROOT (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   510
  
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   511
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   512
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   513
Pushing touching different named branch (same topo): new branch raced
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   514
---------------------------------------------------------------------
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   515
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   516
Pushing two children on the same head, one is a different named branch
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   517
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   518
#  a (raced, branch-a)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   519
#  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   520
#  | b (default branch)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   521
#  |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   522
#  *
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   523
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   524
(resync-all)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   525
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   526
#if strict
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   527
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   528
  $ hg -R ./server pull ./client-racy
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   529
  pulling from ./client-racy
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   530
  searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   531
  adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   532
  adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   533
  adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   534
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   535
  new changesets d9e379a8c432 (1 drafts)
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   536
  (run 'hg update' to get a working copy)
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   537
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   538
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   539
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   540
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   541
  $ hg -R ./server pull ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   542
  pulling from ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   543
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   544
  no changes found
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   545
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   546
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   547
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   548
  $ hg -R ./client-other pull
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   549
  pulling from ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   550
  searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   551
  adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   552
  adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   553
  adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   554
  added 1 changesets with 1 changes to 1 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   555
  new changesets d9e379a8c432 (1 drafts)
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   556
  (run 'hg update' to get a working copy)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   557
  $ hg -R ./client-racy pull
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   558
  pulling from ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   559
  searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   560
  adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   561
  adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   562
  adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   563
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   564
  new changesets d603e2c0cdd7 (1 drafts)
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   565
  (run 'hg heads .' to see heads, 'hg merge' to merge)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   566
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   567
  $ hg -R server graph
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   568
  o  d9e379a8c432 C-F (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   569
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   570
  o  51c544a58128 C-C (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   571
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   572
  | o  d603e2c0cdd7 C-E (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   573
  |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   574
  o  98217d5a1659 C-A (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   575
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   576
  | o  59e76faf78bd C-D (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   577
  | |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   578
  | o  a9149a1428e2 C-B (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   579
  |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   580
  @  842e2fac6304 C-ROOT (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   581
  
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   582
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   583
Creating changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   584
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   585
(update existing head)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   586
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   587
  $ hg -R client-other/ up 'desc("C-F")'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   588
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   589
  $ echo aaa >> client-other/a
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   590
  $ hg -R client-other/ commit -m "C-G"
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   591
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   592
(new named branch from that existing head)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   593
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   594
  $ hg -R client-racy/ up 'desc("C-F")'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   595
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   596
  $ echo bbb >> client-racy/a
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   597
  $ hg -R client-racy/ branch my-first-test-branch
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   598
  marked working directory as branch my-first-test-branch
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   599
  (branches are permanent and global, did you want a bookmark?)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   600
  $ hg -R client-racy/ commit -m "C-H"
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   601
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   602
Pushing
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   603
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   604
  $ hg -R client-racy push -r 'tip' --new-branch > ./push-log 2>&1 &
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   605
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   606
  $ waiton $TESTTMP/readyfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   607
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   608
  $ hg -R client-other push -fr 'tip'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   609
  pushing to ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   610
  searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   611
  remote: adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   612
  remote: adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   613
  remote: adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   614
  remote: added 1 changesets with 1 changes to 1 files
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   615
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   616
  $ release $TESTTMP/watchfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   617
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   618
Check the result of the push
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   619
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   620
#if strict
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   621
  $ cat ./push-log
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   622
  pushing to ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   623
  searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   624
  wrote ready: $TESTTMP/readyfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   625
  waiting on: $TESTTMP/watchfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   626
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   627
  'remote repository changed while pushing - please try again'
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   628
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   629
  $ hg -R server graph
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   630
  o  75d69cba5402 C-G (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   631
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   632
  o  d9e379a8c432 C-F (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   633
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   634
  o  51c544a58128 C-C (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   635
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   636
  | o  d603e2c0cdd7 C-E (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   637
  |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   638
  o  98217d5a1659 C-A (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   639
  |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   640
  | o  59e76faf78bd C-D (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   641
  | |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   642
  | o  a9149a1428e2 C-B (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   643
  |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   644
  @  842e2fac6304 C-ROOT (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
   645
  
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   646
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   647
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   648
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   649
(unrelated named branches are unrelated)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   650
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   651
  $ cat ./push-log
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   652
  pushing to ssh://user@dummy/server
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   653
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   654
  wrote ready: $TESTTMP/readyfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   655
  waiting on: $TESTTMP/watchfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   656
  remote: adding changesets
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   657
  remote: adding manifests
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   658
  remote: adding file changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   659
  remote: added 1 changesets with 1 changes to 1 files (+1 heads)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   660
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   661
  $ hg -R server graph
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   662
  o  833be552cfe6 C-H (my-first-test-branch)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   663
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   664
  | o  75d69cba5402 C-G (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   665
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   666
  o  d9e379a8c432 C-F (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   667
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   668
  o  51c544a58128 C-C (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   669
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   670
  | o  d603e2c0cdd7 C-E (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   671
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   672
  o  98217d5a1659 C-A (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   673
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   674
  | o  59e76faf78bd C-D (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   675
  | |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   676
  | o  a9149a1428e2 C-B (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   677
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   678
  @  842e2fac6304 C-ROOT (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   679
  
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   680
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   681
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   682
The racing new head do not affect existing heads, push should go through
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   683
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   684
pushing touching different named branch (same topo): old branch raced
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   685
---------------------------------------------------------------------
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   686
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   687
Pushing two children on the same head, one is a different named branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   688
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   689
#  a (raced, default-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   690
#  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   691
#  | b (new branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   692
#  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   693
#  * (default-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   694
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   695
(resync-all)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   696
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   697
#if strict
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   698
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   699
  $ hg -R ./server pull ./client-racy
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   700
  pulling from ./client-racy
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   701
  searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   702
  adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   703
  adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   704
  adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   705
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   706
  new changesets 833be552cfe6 (1 drafts)
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   707
  (run 'hg heads .' to see heads, 'hg merge' to merge)
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   708
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   709
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   710
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   711
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   712
  $ hg -R ./server pull ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   713
  pulling from ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   714
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   715
  no changes found
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   716
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   717
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   718
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   719
  $ hg -R ./client-other pull
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   720
  pulling from ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   721
  searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   722
  adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   723
  adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   724
  adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   725
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   726
  new changesets 833be552cfe6 (1 drafts)
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   727
  (run 'hg heads .' to see heads, 'hg merge' to merge)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   728
  $ hg -R ./client-racy pull
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   729
  pulling from ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   730
  searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   731
  adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   732
  adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   733
  adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   734
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   735
  new changesets 75d69cba5402 (1 drafts)
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   736
  (run 'hg heads' to see heads)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   737
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   738
  $ hg -R server graph
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   739
  o  833be552cfe6 C-H (my-first-test-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   740
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   741
  | o  75d69cba5402 C-G (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   742
  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   743
  o  d9e379a8c432 C-F (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   744
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   745
  o  51c544a58128 C-C (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   746
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   747
  | o  d603e2c0cdd7 C-E (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   748
  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   749
  o  98217d5a1659 C-A (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   750
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   751
  | o  59e76faf78bd C-D (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   752
  | |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   753
  | o  a9149a1428e2 C-B (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   754
  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   755
  @  842e2fac6304 C-ROOT (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   756
  
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   757
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   758
Creating changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   759
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   760
(new named branch from one head)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   761
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   762
  $ hg -R client-other/ up 'desc("C-G")'
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   763
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   764
  $ echo aaa >> client-other/a
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   765
  $ hg -R client-other/ branch my-second-test-branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   766
  marked working directory as branch my-second-test-branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   767
  $ hg -R client-other/ commit -m "C-I"
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   768
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   769
(children "updating" that same head)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   770
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   771
  $ hg -R client-racy/ up 'desc("C-G")'
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   772
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   773
  $ echo bbb >> client-racy/a
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   774
  $ hg -R client-racy/ commit -m "C-J"
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   775
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   776
Pushing
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   777
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   778
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   779
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   780
  $ waiton $TESTTMP/readyfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   781
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   782
  $ hg -R client-other push -fr 'tip' --new-branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   783
  pushing to ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   784
  searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   785
  remote: adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   786
  remote: adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   787
  remote: adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   788
  remote: added 1 changesets with 1 changes to 1 files
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   789
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   790
  $ release $TESTTMP/watchfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   791
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   792
Check the result of the push
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   793
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   794
#if strict
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   795
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   796
  $ cat ./push-log
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   797
  pushing to ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   798
  searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   799
  wrote ready: $TESTTMP/readyfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   800
  waiting on: $TESTTMP/watchfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   801
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   802
  'remote repository changed while pushing - please try again'
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   803
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   804
  $ hg -R server graph
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   805
  o  b35ed749f288 C-I (my-second-test-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   806
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   807
  o  75d69cba5402 C-G (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   808
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   809
  | o  833be552cfe6 C-H (my-first-test-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   810
  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   811
  o  d9e379a8c432 C-F (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   812
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   813
  o  51c544a58128 C-C (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   814
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   815
  | o  d603e2c0cdd7 C-E (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   816
  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   817
  o  98217d5a1659 C-A (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   818
  |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   819
  | o  59e76faf78bd C-D (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   820
  | |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   821
  | o  a9149a1428e2 C-B (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   822
  |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   823
  @  842e2fac6304 C-ROOT (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
   824
  
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   825
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   826
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   827
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   828
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   829
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   830
(unrelated named branches are unrelated)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   831
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   832
  $ cat ./push-log
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   833
  pushing to ssh://user@dummy/server
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   834
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   835
  wrote ready: $TESTTMP/readyfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   836
  waiting on: $TESTTMP/watchfile
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   837
  remote: adding changesets
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   838
  remote: adding manifests
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   839
  remote: adding file changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   840
  remote: added 1 changesets with 1 changes to 1 files (+1 heads)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   841
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   842
  $ hg -R server graph
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   843
  o  89420bf00fae C-J (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   844
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   845
  | o  b35ed749f288 C-I (my-second-test-branch)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   846
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   847
  o  75d69cba5402 C-G (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   848
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   849
  | o  833be552cfe6 C-H (my-first-test-branch)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   850
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   851
  o  d9e379a8c432 C-F (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   852
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   853
  o  51c544a58128 C-C (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   854
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   855
  | o  d603e2c0cdd7 C-E (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   856
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   857
  o  98217d5a1659 C-A (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   858
  |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   859
  | o  59e76faf78bd C-D (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   860
  | |
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   861
  | o  a9149a1428e2 C-B (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   862
  |/
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   863
  @  842e2fac6304 C-ROOT (default)
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   864
  
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   865
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   866
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   867
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   868
pushing racing push touch multiple heads
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   869
----------------------------------------
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   870
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   871
There are multiple heads, but the racing push touch all of them
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   872
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   873
#  a (raced)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   874
#  | b
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   875
#  |/|
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   876
#  * *
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   877
#  |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   878
#  *
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   879
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   880
(resync-all)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   881
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   882
#if strict
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   883
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   884
  $ hg -R ./server pull ./client-racy
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   885
  pulling from ./client-racy
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   886
  searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   887
  adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   888
  adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   889
  adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   890
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   891
  new changesets 89420bf00fae (1 drafts)
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   892
  (run 'hg heads .' to see heads, 'hg merge' to merge)
32709
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   893
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   894
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   895
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   896
#if unrelated
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   897
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   898
  $ hg -R ./server pull ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   899
  pulling from ./client-racy
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   900
  searching for changes
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   901
  no changes found
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   902
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   903
#endif
16ada4cbb1a9 push: add a way to allow concurrent pushes on unrelated heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32670
diff changeset
   904
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   905
  $ hg -R ./client-other pull
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   906
  pulling from ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   907
  searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   908
  adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   909
  adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   910
  adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   911
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   912
  new changesets 89420bf00fae (1 drafts)
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   913
  (run 'hg heads' to see heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   914
  $ hg -R ./client-racy pull
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   915
  pulling from ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   916
  searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   917
  adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   918
  adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   919
  adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   920
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
   921
  new changesets b35ed749f288 (1 drafts)
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   922
  (run 'hg heads .' to see heads, 'hg merge' to merge)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   923
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   924
  $ hg -R server graph
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   925
  o  89420bf00fae C-J (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   926
  |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   927
  | o  b35ed749f288 C-I (my-second-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   928
  |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   929
  o  75d69cba5402 C-G (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   930
  |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   931
  | o  833be552cfe6 C-H (my-first-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   932
  |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   933
  o  d9e379a8c432 C-F (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   934
  |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   935
  o  51c544a58128 C-C (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   936
  |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   937
  | o  d603e2c0cdd7 C-E (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   938
  |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   939
  o  98217d5a1659 C-A (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   940
  |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   941
  | o  59e76faf78bd C-D (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   942
  | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   943
  | o  a9149a1428e2 C-B (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   944
  |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   945
  @  842e2fac6304 C-ROOT (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   946
  
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   947
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   948
Creating changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   949
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   950
(merges heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   951
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   952
  $ hg -R client-other/ up 'desc("C-E")'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   953
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   954
  $ hg -R client-other/ merge 'desc("C-D")'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   955
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   956
  (branch merge, don't forget to commit)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   957
  $ hg -R client-other/ commit -m "C-K"
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   958
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   959
(update one head)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   960
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   961
  $ hg -R client-racy/ up 'desc("C-D")'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   962
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   963
  $ echo bbb >> client-racy/b
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   964
  $ hg -R client-racy/ commit -m "C-L"
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   965
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   966
Pushing
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   967
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   968
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   969
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   970
  $ waiton $TESTTMP/readyfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   971
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   972
  $ hg -R client-other push -fr 'tip' --new-branch
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   973
  pushing to ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   974
  searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   975
  remote: adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   976
  remote: adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   977
  remote: adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   978
  remote: added 1 changesets with 0 changes to 0 files (-1 heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   979
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   980
  $ release $TESTTMP/watchfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   981
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   982
Check the result of the push
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   983
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   984
  $ cat ./push-log
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   985
  pushing to ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   986
  searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   987
  wrote ready: $TESTTMP/readyfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   988
  waiting on: $TESTTMP/watchfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   989
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   990
  'remote repository changed while pushing - please try again'
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   991
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   992
  $ hg -R server graph
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   993
  o    be705100c623 C-K (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   994
  |\
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   995
  | o  d603e2c0cdd7 C-E (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   996
  | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   997
  o |  59e76faf78bd C-D (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   998
  | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
   999
  | | o  89420bf00fae C-J (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1000
  | | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1001
  | | | o  b35ed749f288 C-I (my-second-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1002
  | | |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1003
  | | o  75d69cba5402 C-G (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1004
  | | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1005
  | | | o  833be552cfe6 C-H (my-first-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1006
  | | |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1007
  | | o  d9e379a8c432 C-F (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1008
  | | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1009
  | | o  51c544a58128 C-C (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1010
  | |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1011
  o |  a9149a1428e2 C-B (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1012
  | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1013
  | o  98217d5a1659 C-A (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1014
  |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1015
  @  842e2fac6304 C-ROOT (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
  1016
  
32636
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1017
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1018
pushing raced push touch multiple heads
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1019
---------------------------------------
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1020
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1021
There are multiple heads, the raced push touch all of them
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1022
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1023
#  b
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1024
#  | a (raced)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1025
#  |/|
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1026
#  * *
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1027
#  |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1028
#  *
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1029
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1030
(resync-all)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1031
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1032
  $ hg -R ./server pull ./client-racy
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1033
  pulling from ./client-racy
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1034
  searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1035
  adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1036
  adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1037
  adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1038
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1039
  new changesets cac2cead0ff0 (1 drafts)
32636
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1040
  (run 'hg heads .' to see heads, 'hg merge' to merge)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1041
  $ hg -R ./client-other pull
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1042
  pulling from ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1043
  searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1044
  adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1045
  adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1046
  adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1047
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1048
  new changesets cac2cead0ff0 (1 drafts)
32636
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1049
  (run 'hg heads .' to see heads, 'hg merge' to merge)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1050
  $ hg -R ./client-racy pull
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1051
  pulling from ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1052
  searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1053
  adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1054
  adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1055
  adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1056
  added 1 changesets with 0 changes to 0 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1057
  new changesets be705100c623 (1 drafts)
32636
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1058
  (run 'hg update' to get a working copy)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1059
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1060
  $ hg -R server graph
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1061
  o  cac2cead0ff0 C-L (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1062
  |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1063
  | o  be705100c623 C-K (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1064
  |/|
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1065
  | o  d603e2c0cdd7 C-E (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1066
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1067
  o |  59e76faf78bd C-D (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1068
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1069
  | | o  89420bf00fae C-J (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1070
  | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1071
  | | | o  b35ed749f288 C-I (my-second-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1072
  | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1073
  | | o  75d69cba5402 C-G (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1074
  | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1075
  | | | o  833be552cfe6 C-H (my-first-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1076
  | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1077
  | | o  d9e379a8c432 C-F (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1078
  | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1079
  | | o  51c544a58128 C-C (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1080
  | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1081
  o |  a9149a1428e2 C-B (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1082
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1083
  | o  98217d5a1659 C-A (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1084
  |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1085
  @  842e2fac6304 C-ROOT (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1086
  
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1087
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1088
Creating changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1089
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1090
(update existing head)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1091
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1092
  $ echo aaa >> client-other/a
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1093
  $ hg -R client-other/ commit -m "C-M"
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1094
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1095
(merge heads)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1096
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1097
  $ hg -R client-racy/ merge 'desc("C-K")'
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1098
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1099
  (branch merge, don't forget to commit)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1100
  $ hg -R client-racy/ commit -m "C-N"
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1101
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1102
Pushing
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1103
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1104
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1105
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1106
  $ waiton $TESTTMP/readyfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1107
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1108
  $ hg -R client-other push -fr 'tip' --new-branch
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1109
  pushing to ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1110
  searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1111
  remote: adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1112
  remote: adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1113
  remote: adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1114
  remote: added 1 changesets with 1 changes to 1 files
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1115
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1116
  $ release $TESTTMP/watchfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1117
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1118
Check the result of the push
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1119
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1120
  $ cat ./push-log
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1121
  pushing to ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1122
  searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1123
  wrote ready: $TESTTMP/readyfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1124
  waiting on: $TESTTMP/watchfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1125
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
  1126
  'remote repository changed while pushing - please try again'
32636
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1127
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1128
  $ hg -R server graph
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1129
  o  6fd3090135df C-M (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1130
  |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1131
  o    be705100c623 C-K (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1132
  |\
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1133
  | o  d603e2c0cdd7 C-E (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1134
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1135
  +---o  cac2cead0ff0 C-L (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1136
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1137
  o |  59e76faf78bd C-D (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1138
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1139
  | | o  89420bf00fae C-J (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1140
  | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1141
  | | | o  b35ed749f288 C-I (my-second-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1142
  | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1143
  | | o  75d69cba5402 C-G (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1144
  | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1145
  | | | o  833be552cfe6 C-H (my-first-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1146
  | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1147
  | | o  d9e379a8c432 C-F (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1148
  | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1149
  | | o  51c544a58128 C-C (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1150
  | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1151
  o |  a9149a1428e2 C-B (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1152
  | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1153
  | o  98217d5a1659 C-A (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1154
  |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1155
  @  842e2fac6304 C-ROOT (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
  1156
  
32637
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1157
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1158
racing commit push a new head behind another named branch
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1159
---------------------------------------------------------
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1160
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1161
non-continuous branch are valid case, we tests for them.
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1162
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1163
#  b (branch default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1164
#  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1165
#  o (branch foo)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1166
#  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1167
#  | a (raced, branch default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1168
#  |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1169
#  * (branch foo)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1170
#  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1171
#  * (branch default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1172
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1173
(resync-all + other branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1174
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1175
  $ hg -R ./server pull ./client-racy
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1176
  pulling from ./client-racy
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1177
  searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1178
  adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1179
  adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1180
  adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1181
  added 1 changesets with 0 changes to 0 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1182
  new changesets 866a66e18630 (1 drafts)
32637
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1183
  (run 'hg update' to get a working copy)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1184
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1185
(creates named branch on head)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1186
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1187
  $ hg -R ./server/ up 'desc("C-N")'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1188
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1189
  $ hg -R ./server/ branch other
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1190
  marked working directory as branch other
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1191
  $ hg -R ./server/ ci -m "C-Z"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1192
  $ hg -R ./server/ up null
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1193
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1194
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1195
(sync client)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1196
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1197
  $ hg -R ./client-other pull
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1198
  pulling from ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1199
  searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1200
  adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1201
  adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1202
  adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1203
  added 2 changesets with 0 changes to 0 files
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1204
  new changesets 866a66e18630:55a6f1c01b48 (2 drafts)
32637
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1205
  (run 'hg update' to get a working copy)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1206
  $ hg -R ./client-racy pull
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1207
  pulling from ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1208
  searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1209
  adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1210
  adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1211
  adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1212
  added 2 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1213
  new changesets 6fd3090135df:55a6f1c01b48 (2 drafts)
32637
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1214
  (run 'hg heads .' to see heads, 'hg merge' to merge)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1215
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1216
  $ hg -R server graph
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1217
  o  55a6f1c01b48 C-Z (other)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1218
  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1219
  o    866a66e18630 C-N (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1220
  |\
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1221
  +---o  6fd3090135df C-M (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1222
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1223
  | o  cac2cead0ff0 C-L (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1224
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1225
  o |  be705100c623 C-K (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1226
  |\|
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1227
  o |  d603e2c0cdd7 C-E (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1228
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1229
  | o  59e76faf78bd C-D (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1230
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1231
  | | o  89420bf00fae C-J (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1232
  | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1233
  | | | o  b35ed749f288 C-I (my-second-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1234
  | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1235
  | | o  75d69cba5402 C-G (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1236
  | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1237
  | | | o  833be552cfe6 C-H (my-first-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1238
  | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1239
  | | o  d9e379a8c432 C-F (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1240
  | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1241
  +---o  51c544a58128 C-C (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1242
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1243
  | o  a9149a1428e2 C-B (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1244
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1245
  o |  98217d5a1659 C-A (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1246
  |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1247
  o  842e2fac6304 C-ROOT (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1248
  
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1249
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1250
Creating changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1251
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1252
(update default head through another named branch one)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1253
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1254
  $ hg -R client-other/ up 'desc("C-Z")'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1255
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1256
  $ echo aaa >> client-other/a
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1257
  $ hg -R client-other/ commit -m "C-O"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1258
  $ echo aaa >> client-other/a
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1259
  $ hg -R client-other/ branch --force default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1260
  marked working directory as branch default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1261
  $ hg -R client-other/ commit -m "C-P"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1262
  created new head
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1263
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1264
(update default head)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1265
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1266
  $ hg -R client-racy/ up 'desc("C-Z")'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1267
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1268
  $ echo bbb >> client-other/a
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1269
  $ hg -R client-racy/ branch --force default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1270
  marked working directory as branch default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1271
  $ hg -R client-racy/ commit -m "C-Q"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1272
  created new head
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1273
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1274
Pushing
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1275
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1276
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1277
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1278
  $ waiton $TESTTMP/readyfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1279
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1280
  $ hg -R client-other push -fr 'tip' --new-branch
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1281
  pushing to ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1282
  searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1283
  remote: adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1284
  remote: adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1285
  remote: adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1286
  remote: added 2 changesets with 1 changes to 1 files
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1287
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1288
  $ release $TESTTMP/watchfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1289
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1290
Check the result of the push
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1291
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1292
  $ cat ./push-log
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1293
  pushing to ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1294
  searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1295
  wrote ready: $TESTTMP/readyfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1296
  waiting on: $TESTTMP/watchfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1297
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
  1298
  'remote repository changed while pushing - please try again'
32637
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1299
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1300
  $ hg -R server graph
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1301
  o  1b58ee3f79e5 C-P (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1302
  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1303
  o  d0a85b2252a9 C-O (other)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1304
  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1305
  o  55a6f1c01b48 C-Z (other)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1306
  |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1307
  o    866a66e18630 C-N (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1308
  |\
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1309
  +---o  6fd3090135df C-M (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1310
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1311
  | o  cac2cead0ff0 C-L (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1312
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1313
  o |  be705100c623 C-K (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1314
  |\|
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1315
  o |  d603e2c0cdd7 C-E (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1316
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1317
  | o  59e76faf78bd C-D (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1318
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1319
  | | o  89420bf00fae C-J (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1320
  | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1321
  | | | o  b35ed749f288 C-I (my-second-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1322
  | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1323
  | | o  75d69cba5402 C-G (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1324
  | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1325
  | | | o  833be552cfe6 C-H (my-first-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1326
  | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1327
  | | o  d9e379a8c432 C-F (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1328
  | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1329
  +---o  51c544a58128 C-C (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1330
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1331
  | o  a9149a1428e2 C-B (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1332
  | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1333
  o |  98217d5a1659 C-A (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1334
  |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1335
  o  842e2fac6304 C-ROOT (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
  1336
  
32638
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1337
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1338
raced commit push a new head behind another named branch
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1339
---------------------------------------------------------
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1340
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1341
non-continuous branch are valid case, we tests for them.
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1342
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1343
#  b (raced branch default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1344
#  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1345
#  o (branch foo)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1346
#  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1347
#  | a (branch default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1348
#  |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1349
#  * (branch foo)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1350
#  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1351
#  * (branch default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1352
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1353
(resync-all)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1354
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1355
  $ hg -R ./server pull ./client-racy
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1356
  pulling from ./client-racy
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1357
  searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1358
  adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1359
  adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1360
  adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1361
  added 1 changesets with 0 changes to 0 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1362
  new changesets b0ee3d6f51bc (1 drafts)
32638
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1363
  (run 'hg heads .' to see heads, 'hg merge' to merge)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1364
  $ hg -R ./client-other pull
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1365
  pulling from ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1366
  searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1367
  adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1368
  adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1369
  adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1370
  added 1 changesets with 0 changes to 0 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1371
  new changesets b0ee3d6f51bc (1 drafts)
32638
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1372
  (run 'hg heads .' to see heads, 'hg merge' to merge)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1373
  $ hg -R ./client-racy pull
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1374
  pulling from ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1375
  searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1376
  adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1377
  adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1378
  adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1379
  added 2 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1380
  new changesets d0a85b2252a9:1b58ee3f79e5 (2 drafts)
32638
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1381
  (run 'hg heads .' to see heads, 'hg merge' to merge)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1382
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1383
  $ hg -R server graph
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1384
  o  b0ee3d6f51bc C-Q (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1385
  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1386
  | o  1b58ee3f79e5 C-P (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1387
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1388
  | o  d0a85b2252a9 C-O (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1389
  |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1390
  o  55a6f1c01b48 C-Z (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1391
  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1392
  o    866a66e18630 C-N (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1393
  |\
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1394
  +---o  6fd3090135df C-M (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1395
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1396
  | o  cac2cead0ff0 C-L (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1397
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1398
  o |  be705100c623 C-K (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1399
  |\|
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1400
  o |  d603e2c0cdd7 C-E (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1401
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1402
  | o  59e76faf78bd C-D (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1403
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1404
  | | o  89420bf00fae C-J (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1405
  | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1406
  | | | o  b35ed749f288 C-I (my-second-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1407
  | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1408
  | | o  75d69cba5402 C-G (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1409
  | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1410
  | | | o  833be552cfe6 C-H (my-first-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1411
  | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1412
  | | o  d9e379a8c432 C-F (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1413
  | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1414
  +---o  51c544a58128 C-C (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1415
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1416
  | o  a9149a1428e2 C-B (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1417
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1418
  o |  98217d5a1659 C-A (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1419
  |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1420
  o  842e2fac6304 C-ROOT (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1421
  
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1422
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1423
Creating changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1424
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1425
(update 'other' named branch head)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1426
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1427
  $ hg -R client-other/ up 'desc("C-P")'
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1428
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1429
  $ echo aaa >> client-other/a
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1430
  $ hg -R client-other/ branch --force other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1431
  marked working directory as branch other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1432
  $ hg -R client-other/ commit -m "C-R"
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1433
  created new head
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1434
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1435
(update 'other named brnach through a 'default' changeset')
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1436
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1437
  $ hg -R client-racy/ up 'desc("C-P")'
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1438
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1439
  $ echo bbb >> client-racy/a
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1440
  $ hg -R client-racy/ commit -m "C-S"
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1441
  $ echo bbb >> client-racy/a
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1442
  $ hg -R client-racy/ branch --force other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1443
  marked working directory as branch other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1444
  $ hg -R client-racy/ commit -m "C-T"
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1445
  created new head
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1446
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1447
Pushing
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1448
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1449
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1450
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1451
  $ waiton $TESTTMP/readyfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1452
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1453
  $ hg -R client-other push -fr 'tip' --new-branch
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1454
  pushing to ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1455
  searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1456
  remote: adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1457
  remote: adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1458
  remote: adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1459
  remote: added 1 changesets with 1 changes to 1 files
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1460
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1461
  $ release $TESTTMP/watchfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1462
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1463
Check the result of the push
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1464
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1465
  $ cat ./push-log
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1466
  pushing to ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1467
  searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1468
  wrote ready: $TESTTMP/readyfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1469
  waiting on: $TESTTMP/watchfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1470
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
  1471
  'remote repository changed while pushing - please try again'
32638
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1472
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1473
  $ hg -R server graph
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1474
  o  de7b9e2ba3f6 C-R (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1475
  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1476
  o  1b58ee3f79e5 C-P (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1477
  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1478
  o  d0a85b2252a9 C-O (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1479
  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1480
  | o  b0ee3d6f51bc C-Q (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1481
  |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1482
  o  55a6f1c01b48 C-Z (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1483
  |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1484
  o    866a66e18630 C-N (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1485
  |\
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1486
  +---o  6fd3090135df C-M (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1487
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1488
  | o  cac2cead0ff0 C-L (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1489
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1490
  o |  be705100c623 C-K (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1491
  |\|
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1492
  o |  d603e2c0cdd7 C-E (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1493
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1494
  | o  59e76faf78bd C-D (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1495
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1496
  | | o  89420bf00fae C-J (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1497
  | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1498
  | | | o  b35ed749f288 C-I (my-second-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1499
  | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1500
  | | o  75d69cba5402 C-G (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1501
  | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1502
  | | | o  833be552cfe6 C-H (my-first-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1503
  | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1504
  | | o  d9e379a8c432 C-F (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1505
  | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1506
  +---o  51c544a58128 C-C (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1507
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1508
  | o  a9149a1428e2 C-B (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1509
  | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1510
  o |  98217d5a1659 C-A (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1511
  |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1512
  o  842e2fac6304 C-ROOT (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
  1513
  
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1514
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1515
raced commit push a new head obsoleting the one touched by the racing push
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1516
--------------------------------------------------------------------------
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1517
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1518
#  b (racing)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1519
#  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1520
#  ø⇠◔ a (raced)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1521
#  |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1522
#  *
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1523
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1524
(resync-all)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1525
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1526
  $ hg -R ./server pull ./client-racy
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1527
  pulling from ./client-racy
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1528
  searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1529
  adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1530
  adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1531
  adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1532
  added 2 changesets with 2 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1533
  new changesets 2efd43f7b5ba:3d57ed3c1091 (2 drafts)
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1534
  (run 'hg heads .' to see heads, 'hg merge' to merge)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1535
  $ hg -R ./client-other pull
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1536
  pulling from ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1537
  searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1538
  adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1539
  adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1540
  adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1541
  added 2 changesets with 2 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1542
  new changesets 2efd43f7b5ba:3d57ed3c1091 (2 drafts)
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1543
  (run 'hg heads' to see heads, 'hg merge' to merge)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1544
  $ hg -R ./client-racy pull
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1545
  pulling from ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1546
  searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1547
  adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1548
  adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1549
  adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1550
  added 1 changesets with 1 changes to 1 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1551
  new changesets de7b9e2ba3f6 (1 drafts)
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1552
  (run 'hg heads' to see heads, 'hg merge' to merge)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1553
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1554
  $ hg -R server graph
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1555
  o  3d57ed3c1091 C-T (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1556
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1557
  o  2efd43f7b5ba C-S (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1558
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1559
  | o  de7b9e2ba3f6 C-R (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1560
  |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1561
  o  1b58ee3f79e5 C-P (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1562
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1563
  o  d0a85b2252a9 C-O (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1564
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1565
  | o  b0ee3d6f51bc C-Q (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1566
  |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1567
  o  55a6f1c01b48 C-Z (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1568
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1569
  o    866a66e18630 C-N (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1570
  |\
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1571
  +---o  6fd3090135df C-M (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1572
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1573
  | o  cac2cead0ff0 C-L (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1574
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1575
  o |  be705100c623 C-K (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1576
  |\|
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1577
  o |  d603e2c0cdd7 C-E (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1578
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1579
  | o  59e76faf78bd C-D (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1580
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1581
  | | o  89420bf00fae C-J (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1582
  | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1583
  | | | o  b35ed749f288 C-I (my-second-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1584
  | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1585
  | | o  75d69cba5402 C-G (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1586
  | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1587
  | | | o  833be552cfe6 C-H (my-first-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1588
  | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1589
  | | o  d9e379a8c432 C-F (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1590
  | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1591
  +---o  51c544a58128 C-C (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1592
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1593
  | o  a9149a1428e2 C-B (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1594
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1595
  o |  98217d5a1659 C-A (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1596
  |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1597
  o  842e2fac6304 C-ROOT (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1598
  
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1599
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1600
Creating changesets and markers
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1601
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1602
(continue existing head)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1603
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1604
  $ hg -R client-other/ up 'desc("C-Q")'
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1605
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1606
  $ echo aaa >> client-other/a
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1607
  $ hg -R client-other/ commit -m "C-U"
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1608
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1609
(new topo branch obsoleting that same head)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1610
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1611
  $ hg -R client-racy/ up 'desc("C-Z")'
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1612
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1613
  $ echo bbb >> client-racy/a
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1614
  $ hg -R client-racy/ branch --force default
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1615
  marked working directory as branch default
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1616
  $ hg -R client-racy/ commit -m "C-V"
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1617
  created new head
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1618
  $ ID_Q=`hg -R client-racy log -T '{node}\n' -r 'desc("C-Q")'`
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1619
  $ ID_V=`hg -R client-racy log -T '{node}\n' -r 'desc("C-V")'`
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1620
  $ hg -R client-racy debugobsolete $ID_Q $ID_V
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40870
diff changeset
  1621
  1 new obsolescence markers
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33314
diff changeset
  1622
  obsoleted 1 changesets
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1623
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1624
Pushing
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1625
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1626
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1627
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1628
  $ waiton $TESTTMP/readyfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1629
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1630
  $ hg -R client-other push -fr 'tip' --new-branch
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1631
  pushing to ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1632
  searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1633
  remote: adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1634
  remote: adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1635
  remote: adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1636
  remote: added 1 changesets with 0 changes to 0 files
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1637
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1638
  $ release $TESTTMP/watchfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1639
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1640
Check the result of the push
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1641
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1642
  $ cat ./push-log
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1643
  pushing to ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1644
  searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1645
  wrote ready: $TESTTMP/readyfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1646
  waiting on: $TESTTMP/watchfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1647
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
  1648
  'remote repository changed while pushing - please try again'
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1649
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1650
  $ hg -R server debugobsolete
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1651
  $ hg -R server graph
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1652
  o  a98a47d8b85b C-U (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1653
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1654
  o  b0ee3d6f51bc C-Q (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1655
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1656
  | o  3d57ed3c1091 C-T (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1657
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1658
  | o  2efd43f7b5ba C-S (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1659
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1660
  | | o  de7b9e2ba3f6 C-R (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1661
  | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1662
  | o  1b58ee3f79e5 C-P (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1663
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1664
  | o  d0a85b2252a9 C-O (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1665
  |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1666
  o  55a6f1c01b48 C-Z (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1667
  |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1668
  o    866a66e18630 C-N (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1669
  |\
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1670
  +---o  6fd3090135df C-M (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1671
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1672
  | o  cac2cead0ff0 C-L (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1673
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1674
  o |  be705100c623 C-K (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1675
  |\|
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1676
  o |  d603e2c0cdd7 C-E (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1677
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1678
  | o  59e76faf78bd C-D (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1679
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1680
  | | o  89420bf00fae C-J (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1681
  | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1682
  | | | o  b35ed749f288 C-I (my-second-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1683
  | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1684
  | | o  75d69cba5402 C-G (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1685
  | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1686
  | | | o  833be552cfe6 C-H (my-first-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1687
  | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1688
  | | o  d9e379a8c432 C-F (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1689
  | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1690
  +---o  51c544a58128 C-C (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1691
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1692
  | o  a9149a1428e2 C-B (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1693
  | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1694
  o |  98217d5a1659 C-A (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1695
  |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1696
  o  842e2fac6304 C-ROOT (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
  1697
  
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1698
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1699
racing commit push a new head obsoleting the one touched by the raced push
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1700
--------------------------------------------------------------------------
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1701
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1702
(mirror test case of the previous one
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1703
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1704
#  a (raced branch default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1705
#  |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1706
#  ø⇠◔ b (racing)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1707
#  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1708
#  *
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1709
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1710
(resync-all)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1711
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1712
  $ hg -R ./server pull ./client-racy
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1713
  pulling from ./client-racy
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1714
  searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1715
  adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1716
  adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1717
  adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1718
  added 1 changesets with 1 changes to 1 files (+1 heads)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1719
  1 new obsolescence markers
33252
53b3a1968aa6 obsolete: reports the number of local changeset obsoleted when unbundling
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32892
diff changeset
  1720
  obsoleted 1 changesets
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
  1721
  1 new orphan changesets
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1722
  new changesets 720c5163ecf6 (1 drafts)
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1723
  (run 'hg heads .' to see heads, 'hg merge' to merge)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1724
  $ hg -R ./client-other pull
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1725
  pulling from ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1726
  searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1727
  adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1728
  adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1729
  adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1730
  added 1 changesets with 1 changes to 1 files (+1 heads)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1731
  1 new obsolescence markers
33252
53b3a1968aa6 obsolete: reports the number of local changeset obsoleted when unbundling
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32892
diff changeset
  1732
  obsoleted 1 changesets
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
  1733
  1 new orphan changesets
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1734
  new changesets 720c5163ecf6 (1 drafts)
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1735
  (run 'hg heads .' to see heads, 'hg merge' to merge)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1736
  $ hg -R ./client-racy pull
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1737
  pulling from ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1738
  searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1739
  adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1740
  adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1741
  adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1742
  added 1 changesets with 0 changes to 0 files
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
  1743
  1 new orphan changesets
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
  1744
  new changesets a98a47d8b85b (1 drafts)
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1745
  (run 'hg update' to get a working copy)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1746
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1747
  $ hg -R server debugobsolete
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1748
  b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1749
  $ hg -R server graph
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1750
  o  720c5163ecf6 C-V (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1751
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34865
diff changeset
  1752
  | *  a98a47d8b85b C-U (default)
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1753
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1754
  | x  b0ee3d6f51bc C-Q (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1755
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1756
  | o  3d57ed3c1091 C-T (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1757
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1758
  | o  2efd43f7b5ba C-S (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1759
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1760
  | | o  de7b9e2ba3f6 C-R (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1761
  | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1762
  | o  1b58ee3f79e5 C-P (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1763
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1764
  | o  d0a85b2252a9 C-O (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1765
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1766
  o  55a6f1c01b48 C-Z (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1767
  |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1768
  o    866a66e18630 C-N (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1769
  |\
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1770
  +---o  6fd3090135df C-M (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1771
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1772
  | o  cac2cead0ff0 C-L (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1773
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1774
  o |  be705100c623 C-K (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1775
  |\|
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1776
  o |  d603e2c0cdd7 C-E (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1777
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1778
  | o  59e76faf78bd C-D (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1779
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1780
  | | o  89420bf00fae C-J (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1781
  | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1782
  | | | o  b35ed749f288 C-I (my-second-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1783
  | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1784
  | | o  75d69cba5402 C-G (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1785
  | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1786
  | | | o  833be552cfe6 C-H (my-first-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1787
  | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1788
  | | o  d9e379a8c432 C-F (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1789
  | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1790
  +---o  51c544a58128 C-C (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1791
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1792
  | o  a9149a1428e2 C-B (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1793
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1794
  o |  98217d5a1659 C-A (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1795
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1796
  o  842e2fac6304 C-ROOT (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1797
  
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1798
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1799
Creating changesets and markers
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1800
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1801
(new topo branch obsoleting that same head)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1802
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1803
  $ hg -R client-other/ up 'desc("C-Q")'
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1804
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1805
  $ echo bbb >> client-other/a
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1806
  $ hg -R client-other/ branch --force default
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1807
  marked working directory as branch default
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1808
  $ hg -R client-other/ commit -m "C-W"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
  1809
  1 new orphan changesets
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1810
  created new head
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1811
  $ ID_V=`hg -R client-other log -T '{node}\n' -r 'desc("C-V")'`
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1812
  $ ID_W=`hg -R client-other log -T '{node}\n' -r 'desc("C-W")'`
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1813
  $ hg -R client-other debugobsolete $ID_V $ID_W
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40870
diff changeset
  1814
  1 new obsolescence markers
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33314
diff changeset
  1815
  obsoleted 1 changesets
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1816
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1817
(continue the same head)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1818
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1819
  $ echo aaa >> client-racy/a
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1820
  $ hg -R client-racy/ commit -m "C-X"
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1821
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1822
Pushing
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1823
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1824
  $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1825
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1826
  $ waiton $TESTTMP/readyfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1827
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1828
  $ hg -R client-other push -fr 'tip' --new-branch
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1829
  pushing to ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1830
  searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1831
  remote: adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1832
  remote: adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1833
  remote: adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1834
  remote: added 1 changesets with 0 changes to 1 files (+1 heads)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1835
  remote: 1 new obsolescence markers
33252
53b3a1968aa6 obsolete: reports the number of local changeset obsoleted when unbundling
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32892
diff changeset
  1836
  remote: obsoleted 1 changesets
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
  1837
  remote: 1 new orphan changesets
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1838
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1839
  $ release $TESTTMP/watchfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1840
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1841
Check the result of the push
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1842
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1843
  $ cat ./push-log
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1844
  pushing to ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1845
  searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1846
  wrote ready: $TESTTMP/readyfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1847
  waiting on: $TESTTMP/watchfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1848
  abort: push failed:
40147
58ebf5083843 push: add "remote" to 'repository changed while pushing' messages (issue5971)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
  1849
  'remote repository changed while pushing - please try again'
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1850
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1851
  $ hg -R server debugobsolete
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1852
  b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1853
  720c5163ecf64dcc6216bee2d62bf3edb1882499 39bc0598afe90ab18da460bafecc0fa953b77596 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1854
  $ hg -R server graph --hidden
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34865
diff changeset
  1855
  *  39bc0598afe9 C-W (default)
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1856
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 34865
diff changeset
  1857
  | *  a98a47d8b85b C-U (default)
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1858
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1859
  x  b0ee3d6f51bc C-Q (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1860
  |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1861
  | o  3d57ed3c1091 C-T (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1862
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1863
  | o  2efd43f7b5ba C-S (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1864
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1865
  | | o  de7b9e2ba3f6 C-R (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1866
  | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1867
  | o  1b58ee3f79e5 C-P (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1868
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1869
  | o  d0a85b2252a9 C-O (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1870
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1871
  | x  720c5163ecf6 C-V (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1872
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1873
  o  55a6f1c01b48 C-Z (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1874
  |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1875
  o    866a66e18630 C-N (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1876
  |\
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1877
  +---o  6fd3090135df C-M (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1878
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1879
  | o  cac2cead0ff0 C-L (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1880
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1881
  o |  be705100c623 C-K (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1882
  |\|
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1883
  o |  d603e2c0cdd7 C-E (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1884
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1885
  | o  59e76faf78bd C-D (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1886
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1887
  | | o  89420bf00fae C-J (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1888
  | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1889
  | | | o  b35ed749f288 C-I (my-second-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1890
  | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1891
  | | o  75d69cba5402 C-G (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1892
  | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1893
  | | | o  833be552cfe6 C-H (my-first-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1894
  | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1895
  | | o  d9e379a8c432 C-F (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1896
  | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1897
  +---o  51c544a58128 C-C (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1898
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1899
  | o  a9149a1428e2 C-B (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1900
  | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1901
  o |  98217d5a1659 C-A (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1902
  |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1903
  o  842e2fac6304 C-ROOT (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
  1904