##// END OF EJS Templates
test: add a push race case where the updated head is obsoleted...
marmoute -
r32670:41b8cfe8 default
parent child Browse files
Show More
@@ -1429,3 +1429,197 b' Check the result of the push'
1429 |/
1429 |/
1430 o 842e2fac6304 C-ROOT (default)
1430 o 842e2fac6304 C-ROOT (default)
1431
1431
1432
1433 racing commit push a new head obsoleting the one touched by the raced push
1434 --------------------------------------------------------------------------
1435
1436 (mirror test case of the previous one
1437
1438 # a (raced branch default)
1439 # |
1440 # ΓΈβ‡ β—” b (racing)
1441 # |/
1442 # *
1443
1444 (resync-all)
1445
1446 $ hg -R ./server pull ./client-racy
1447 pulling from ./client-racy
1448 searching for changes
1449 adding changesets
1450 adding manifests
1451 adding file changes
1452 added 1 changesets with 1 changes to 1 files (+1 heads)
1453 1 new obsolescence markers
1454 (run 'hg heads .' to see heads, 'hg merge' to merge)
1455 $ hg -R ./client-other pull
1456 pulling from ssh://user@dummy/server
1457 searching for changes
1458 adding changesets
1459 adding manifests
1460 adding file changes
1461 added 1 changesets with 1 changes to 1 files (+1 heads)
1462 1 new obsolescence markers
1463 (run 'hg heads .' to see heads, 'hg merge' to merge)
1464 $ hg -R ./client-racy pull
1465 pulling from ssh://user@dummy/server
1466 searching for changes
1467 adding changesets
1468 adding manifests
1469 adding file changes
1470 added 1 changesets with 0 changes to 0 files
1471 (run 'hg update' to get a working copy)
1472
1473 $ hg -R server debugobsolete
1474 b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1475 $ hg -R server graph
1476 o 720c5163ecf6 C-V (default)
1477 |
1478 | o a98a47d8b85b C-U (default)
1479 | |
1480 | x b0ee3d6f51bc C-Q (default)
1481 |/
1482 | o 3d57ed3c1091 C-T (other)
1483 | |
1484 | o 2efd43f7b5ba C-S (default)
1485 | |
1486 | | o de7b9e2ba3f6 C-R (other)
1487 | |/
1488 | o 1b58ee3f79e5 C-P (default)
1489 | |
1490 | o d0a85b2252a9 C-O (other)
1491 |/
1492 o 55a6f1c01b48 C-Z (other)
1493 |
1494 o 866a66e18630 C-N (default)
1495 |\
1496 +---o 6fd3090135df C-M (default)
1497 | |
1498 | o cac2cead0ff0 C-L (default)
1499 | |
1500 o | be705100c623 C-K (default)
1501 |\|
1502 o | d603e2c0cdd7 C-E (default)
1503 | |
1504 | o 59e76faf78bd C-D (default)
1505 | |
1506 | | o 89420bf00fae C-J (default)
1507 | | |
1508 | | | o b35ed749f288 C-I (my-second-test-branch)
1509 | | |/
1510 | | o 75d69cba5402 C-G (default)
1511 | | |
1512 | | | o 833be552cfe6 C-H (my-first-test-branch)
1513 | | |/
1514 | | o d9e379a8c432 C-F (default)
1515 | | |
1516 +---o 51c544a58128 C-C (default)
1517 | |
1518 | o a9149a1428e2 C-B (default)
1519 | |
1520 o | 98217d5a1659 C-A (default)
1521 |/
1522 o 842e2fac6304 C-ROOT (default)
1523
1524
1525 Creating changesets and markers
1526
1527 (new topo branch obsoleting that same head)
1528
1529 $ hg -R client-other/ up 'desc("C-Q")'
1530 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1531 $ echo bbb >> client-other/a
1532 $ hg -R client-other/ branch --force default
1533 marked working directory as branch default
1534 $ hg -R client-other/ commit -m "C-W"
1535 created new head
1536 $ ID_V=`hg -R client-other log -T '{node}\n' -r 'desc("C-V")'`
1537 $ ID_W=`hg -R client-other log -T '{node}\n' -r 'desc("C-W")'`
1538 $ hg -R client-other debugobsolete $ID_V $ID_W
1539
1540 (continue the same head)
1541
1542 $ echo aaa >> client-racy/a
1543 $ hg -R client-racy/ commit -m "C-X"
1544
1545 Pushing
1546
1547 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
1548
1549 $ waiton $TESTTMP/readyfile
1550
1551 $ hg -R client-other push -fr 'tip' --new-branch
1552 pushing to ssh://user@dummy/server
1553 searching for changes
1554 remote: adding changesets
1555 remote: adding manifests
1556 remote: adding file changes
1557 remote: added 1 changesets with 0 changes to 1 files (+1 heads)
1558 remote: 1 new obsolescence markers
1559
1560 $ release $TESTTMP/watchfile
1561
1562 Check the result of the push
1563
1564 $ cat ./push-log
1565 pushing to ssh://user@dummy/server
1566 searching for changes
1567 wrote ready: $TESTTMP/readyfile
1568 waiting on: $TESTTMP/watchfile
1569 abort: push failed:
1570 'repository changed while pushing - please try again'
1571
1572 $ hg -R server debugobsolete
1573 b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1574 720c5163ecf64dcc6216bee2d62bf3edb1882499 39bc0598afe90ab18da460bafecc0fa953b77596 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
1575 $ hg -R server graph --hidden
1576 o 39bc0598afe9 C-W (default)
1577 |
1578 | o a98a47d8b85b C-U (default)
1579 |/
1580 x b0ee3d6f51bc C-Q (default)
1581 |
1582 | o 3d57ed3c1091 C-T (other)
1583 | |
1584 | o 2efd43f7b5ba C-S (default)
1585 | |
1586 | | o de7b9e2ba3f6 C-R (other)
1587 | |/
1588 | o 1b58ee3f79e5 C-P (default)
1589 | |
1590 | o d0a85b2252a9 C-O (other)
1591 |/
1592 | x 720c5163ecf6 C-V (default)
1593 |/
1594 o 55a6f1c01b48 C-Z (other)
1595 |
1596 o 866a66e18630 C-N (default)
1597 |\
1598 +---o 6fd3090135df C-M (default)
1599 | |
1600 | o cac2cead0ff0 C-L (default)
1601 | |
1602 o | be705100c623 C-K (default)
1603 |\|
1604 o | d603e2c0cdd7 C-E (default)
1605 | |
1606 | o 59e76faf78bd C-D (default)
1607 | |
1608 | | o 89420bf00fae C-J (default)
1609 | | |
1610 | | | o b35ed749f288 C-I (my-second-test-branch)
1611 | | |/
1612 | | o 75d69cba5402 C-G (default)
1613 | | |
1614 | | | o 833be552cfe6 C-H (my-first-test-branch)
1615 | | |/
1616 | | o d9e379a8c432 C-F (default)
1617 | | |
1618 +---o 51c544a58128 C-C (default)
1619 | |
1620 | o a9149a1428e2 C-B (default)
1621 | |
1622 o | 98217d5a1659 C-A (default)
1623 |/
1624 o 842e2fac6304 C-ROOT (default)
1625
General Comments 0
You need to be logged in to leave comments. Login now