Newer
Older
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
pushing a locally public and draft changesets remotely secret should make them
Pierre-Yves David
committed
appear on the remote side.
Pierre-Yves David
committed
$ hg -R ../mu phase --secret --force 967b449fbc94
test-debug-phase: move rev 9: 0 -> 2
test-debug-phase: move rev 10: 1 -> 2
Pierre-Yves David
committed
$ hg push -r 435b5d83910c ../mu
pushing to ../mu
searching for changes

Martin von Zweigbergk
committed
abort: push creates new remote head 435b5d83910c
(merge or see 'hg help push' for details about pushing new heads)

Martin von Zweigbergk
committed
[20]
Pierre-Yves David
committed
$ hg push -fr 435b5d83910c ../mu # because the push will create new visible head
pushing to ../mu
searching for changes
Pierre-Yves David
committed
adding changesets
adding manifests
adding file changes
added 0 changesets with 0 changes to 2 files
test-debug-phase: move rev 9: 2 -> 0
test-debug-phase: move rev 10: 2 -> 1
Pierre-Yves David
committed
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
$ hgph -R ../mu
o 10 draft A-secret - 435b5d83910c
|
o 9 public a-H - 967b449fbc94
|
| o 8 public a-F - b740e3e5c05d
| |
| o 7 public a-E - e9f537e46dea
| |
+---o 6 public n-B - 145e75495359
| |
o | 5 public n-A - d6bcb4f74035
| |
| o 4 public a-D - b555f63b6063
| |
| o 3 public a-C - 54acac6f23ab
| |
o | 2 public b-A - f54f1bb90ff3
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
pull new changeset with common draft locally
$ hg up -q 967b449fbc94 # create a new root for draft
$ mkcommit 'alpha-more'
test-debug-phase: new rev 12: x -> 1
created new head
$ hg push -fr . ../mu
pushing to ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
test-debug-phase: new rev 11: x -> 1
$ cd ../mu
$ hg phase --secret --force 1c5cfd894796
test-debug-phase: move rev 11: 1 -> 2
$ hg up -q 435b5d83910c
$ mkcommit 'mu-more'
test-debug-phase: new rev 12: x -> 1
$ cd ../alpha
$ hg pull ../mu
pulling from ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
new changesets 5237fb433fc8 (1 drafts)
test-debug-phase: new rev 13: x -> 1
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
(run 'hg update' to get a working copy)
$ hgph
o 13 draft mu-more - 5237fb433fc8
|
| @ 12 draft alpha-more - 1c5cfd894796
| |
o | 11 draft A-secret - 435b5d83910c
|/
o 10 public a-H - 967b449fbc94
|
| o 9 draft a-G - 3e27b6f1eee1
| |
| o 8 public a-F - b740e3e5c05d
| |
| o 7 public a-E - e9f537e46dea
| |
+---o 6 public n-B - 145e75495359
| |
o | 5 public n-A - d6bcb4f74035
| |
o | 4 public b-A - f54f1bb90ff3
| |
| o 3 public a-D - b555f63b6063
| |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Test that test are properly ignored on remote event when existing locally
$ hg clone -qU -r b555f63b6063 -r f54f1bb90ff3 beta gamma
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
test-debug-phase: new rev 3: x -> 0
test-debug-phase: new rev 4: x -> 0
# pathological case are
#
# * secret remotely
# * known locally
# * repo have uncommon changeset
$ hg -R beta phase --secret --force f54f1bb90ff3
test-debug-phase: move rev 2: 0 -> 2
$ hg -R gamma phase --draft --force f54f1bb90ff3
test-debug-phase: move rev 2: 0 -> 1
$ cd gamma
$ hg pull ../beta
pulling from ../beta
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Denis Laxalde
committed
new changesets e9f537e46dea:b740e3e5c05d
test-debug-phase: new rev 5: x -> 0
test-debug-phase: new rev 6: x -> 0
(run 'hg update' to get a working copy)
$ hg phase f54f1bb90ff3
2: draft
same over the wire
$ cd ../beta
$ hg serve -p $HGPORT -d --pid-file=../beta.pid -E ../beta-error.log
$ cat ../beta.pid >> $DAEMON_PIDS
$ cd ../gamma
$ hg pull http://localhost:$HGPORT/ # bundle2+
pulling from http://localhost:$HGPORT/
searching for changes
no changes found
$ hg phase f54f1bb90ff3
2: draft
enforce bundle1
$ hg pull http://localhost:$HGPORT/ --config devel.legacy.exchange=bundle1
pulling from http://localhost:$HGPORT/
searching for changes
no changes found
$ hg phase f54f1bb90ff3
2: draft
check that secret local on both side are not synced to public
$ hg push -r b555f63b6063 http://localhost:$HGPORT/
pushing to http://localhost:$HGPORT/
searching for changes
no changes found
$ hg phase f54f1bb90ff3
2: draft
$ killdaemons.py
put the changeset in the draft state again
(first test after this one expect to be able to copy)
$ cd ..
A. Clone without secret changeset
1. cloning non-publishing repository
(Phase should be preserved)
# make sure there is no secret so we can use a copy clone
$ hg -R mu phase --draft 'secret()'
test-debug-phase: move rev 11: 2 -> 1
$ hg clone -U mu Tau
$ hgph -R Tau
o 12 draft mu-more - 5237fb433fc8
| o 11 draft alpha-more - 1c5cfd894796
| |
o | 10 draft A-secret - 435b5d83910c
|/
o 9 public a-H - 967b449fbc94
|
| o 8 public a-F - b740e3e5c05d
| |
| o 7 public a-E - e9f537e46dea
| |
+---o 6 public n-B - 145e75495359
| |
o | 5 public n-A - d6bcb4f74035
| |
| o 4 public a-D - b555f63b6063
| |
| o 3 public a-C - 54acac6f23ab
| |
o | 2 public b-A - f54f1bb90ff3
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
2. cloning publishing repository
(everything should be public)
$ hg clone -U alpha Upsilon
$ hgph -R Upsilon
o 13 public mu-more - 5237fb433fc8
| o 12 public alpha-more - 1c5cfd894796
| |
o | 11 public A-secret - 435b5d83910c
|/
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
o 10 public a-H - 967b449fbc94
|
| o 9 public a-G - 3e27b6f1eee1
| |
| o 8 public a-F - b740e3e5c05d
| |
| o 7 public a-E - e9f537e46dea
| |
+---o 6 public n-B - 145e75495359
| |
o | 5 public n-A - d6bcb4f74035
| |
o | 4 public b-A - f54f1bb90ff3
| |
| o 3 public a-D - b555f63b6063
| |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
#if unix-permissions no-root
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
Pushing From an unlockable repo
--------------------------------
(issue3684)
Unability to lock the source repo should not prevent the push. It will prevent
the retrieval of remote phase during push. For example, pushing to a publishing
server won't turn changeset public.
1. Test that push is not prevented
$ hg init Phi
$ cd Upsilon
$ chmod -R -w .hg
$ hg push ../Phi
pushing to ../Phi
searching for changes
adding changesets
adding manifests
adding file changes
added 14 changesets with 14 changes to 14 files (+3 heads)
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
test-debug-phase: new rev 3: x -> 0
test-debug-phase: new rev 4: x -> 0
test-debug-phase: new rev 5: x -> 0
test-debug-phase: new rev 6: x -> 0
test-debug-phase: new rev 7: x -> 0
test-debug-phase: new rev 8: x -> 0
test-debug-phase: new rev 9: x -> 0
test-debug-phase: new rev 10: x -> 0
test-debug-phase: new rev 11: x -> 0
test-debug-phase: new rev 12: x -> 0
test-debug-phase: new rev 13: x -> 0
$ chmod -R +w .hg
2. Test that failed phases movement are reported
$ hg phase --force --draft 3
test-debug-phase: move rev 3: 0 -> 1
test-debug-phase: move rev 7: 0 -> 1
test-debug-phase: move rev 8: 0 -> 1
test-debug-phase: move rev 9: 0 -> 1
$ chmod -R -w .hg
$ hg push ../Phi
pushing to ../Phi
searching for changes
no changes found
cannot lock source repo, skipping local public phase update
[1]
$ chmod -R +w .hg

Yuya Nishihara
committed
3. Test that push is prevented if lock was already acquired (not a permission
error, but EEXIST)
$ touch .hg/store/lock
$ hg push ../Phi --config ui.timeout=1 --config ui.timeout.warn=0

Yuya Nishihara
committed
pushing to ../Phi
waiting for lock on repository $TESTTMP/Upsilon held by ''
abort: repository $TESTTMP/Upsilon: timed out waiting for lock held by ''
(lock might be very busy)

Yuya Nishihara
committed
$ rm .hg/store/lock
#endif
Test that clone behaves like pull and doesn't publish changesets as plain push
does. The conditional output accounts for changes in the conditional block
above.
#if unix-permissions no-root
$ hg -R Upsilon phase -q --force --draft 2
test-debug-phase: move rev 2: 0 -> 1
#else
$ hg -R Upsilon phase -q --force --draft 2
test-debug-phase: move rev 2: 0 -> 1
test-debug-phase: move rev 3: 0 -> 1
test-debug-phase: move rev 7: 0 -> 1
test-debug-phase: move rev 8: 0 -> 1
test-debug-phase: move rev 9: 0 -> 1
#endif
$ hg clone -q Upsilon Pi -r 7
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
test-debug-phase: new rev 3: x -> 0
test-debug-phase: new rev 4: x -> 0
$ hgph Upsilon -r 'min(draft())'
o 2 draft a-C - 54acac6f23ab
|
~
$ hg -R Upsilon push Pi -r 7
pushing to Pi
searching for changes
no changes found
test-debug-phase: move rev 2: 1 -> 0
test-debug-phase: move rev 3: 1 -> 0
test-debug-phase: move rev 7: 1 -> 0
[1]
$ hgph Upsilon -r 'min(draft())'
o 8 draft a-F - b740e3e5c05d
|
~
$ hg -R Upsilon push Pi -r 8
pushing to Pi
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 5: x -> 0
test-debug-phase: move rev 8: 1 -> 0
$ hgph Upsilon -r 'min(draft())'
o 9 draft a-G - 3e27b6f1eee1
|
~
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
Test phases exchange when a phaseroot is on a merge
$ hg init mergetest
$ cd mergetest
> cat > .hg/hgrc << EOF
> [phases]
> publish = false
> EOF
$ hg debugdrawdag << EOF
> E Z
> |\|
> D Y
> | |
> C X
> |/
> B
> |
> A
> EOF
test-debug-phase: new rev 0: x -> 1
test-debug-phase: new rev 1: x -> 1
test-debug-phase: new rev 2: x -> 1
test-debug-phase: new rev 3: x -> 1
test-debug-phase: new rev 4: x -> 1
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
$ hg phase --public -r D
test-debug-phase: move rev 0: 1 -> 0
test-debug-phase: move rev 1: 1 -> 0
test-debug-phase: move rev 2: 1 -> 0
test-debug-phase: move rev 4: 1 -> 0
$ hg log -G -T '{shortest(node, 5)} {phase}'
o bb947 draft
|
| o 5ac28 draft
|/|
o | 13b7b draft
| |
| o f5853 public
| |
o | c67c4 draft
| |
| o 26805 public
|/
o 11247 public
|
o 426ba public
$ cd ..
Works with default settings
$ hg -R mergetest serve -p $HGPORT -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg clone -U http://localhost:$HGPORT mergetest-normal
requesting all changes
adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+1 heads)
new changesets 426bada5c675:bb94757e651a (4 drafts)
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
test-debug-phase: new rev 3: x -> 1
test-debug-phase: new rev 4: x -> 0
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
$ hg -R mergetest-normal log -G -T '{shortest(node, 5)} {phase}'
o bb947 draft
|
| o 5ac28 draft
|/|
o | 13b7b draft
| |
| o f5853 public
| |
o | c67c4 draft
| |
| o 26805 public
|/
o 11247 public
|
o 426ba public
$ killdaemons.py
With legacy listkeys over bundle2
(issue 5939: public phase was lost on 26805 and f5853 before, due to a bug
of phase heads computation)
$ hg -R mergetest --config devel.legacy.exchange=phases serve -p $HGPORT -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg clone -U http://localhost:$HGPORT mergetest-nobinarypart
requesting all changes
adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+1 heads)
new changesets 426bada5c675:bb94757e651a (4 drafts)
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
test-debug-phase: new rev 3: x -> 1
test-debug-phase: new rev 4: x -> 0
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
$ hg -R mergetest-nobinarypart log -G -T '{shortest(node, 5)} {phase}'
o bb947 draft
|
| o 5ac28 draft
|/|
o | 13b7b draft
| |
| o f5853 public
| |
o | c67c4 draft
| |
| o 26805 public
|/
o 11247 public
|
o 426ba public
$ killdaemons.py
Without bundle2
(issue 5939: public phase was lost on 26805 and f5853 before, due to a bug
of phase heads computation)
$ hg -R mergetest serve -p $HGPORT -d --pid-file=hg.pid
$ cat hg.pid >> $DAEMON_PIDS
$ hg --config devel.legacy.exchange=bundle1 clone -U http://localhost:$HGPORT mergetest-bundle1
requesting all changes
adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+1 heads)
new changesets 426bada5c675:bb94757e651a (4 drafts)
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
test-debug-phase: new rev 3: x -> 1
test-debug-phase: new rev 4: x -> 0
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
$ hg -R mergetest-bundle1 log -G -T '{shortest(node, 5)} {phase}'
o bb947 draft
|
| o 5ac28 draft
|/|
o | 13b7b draft
| |
| o f5853 public
| |
o | c67c4 draft
| |
| o 26805 public
|/
o 11247 public
|
o 426ba public
$ killdaemons.py

Anton Shestakov
committed
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
auto-publish config
-------------------
$ hg init auto-publish-orig
$ hg clone -q auto-publish-orig auto-publish-clone
$ cd auto-publish-clone
$ mkcommit a-p-A
test-debug-phase: new rev 0: x -> 1
$ mkcommit a-p-B
test-debug-phase: new rev 1: x -> 1
abort behavior
$ hg push --config experimental.auto-publish=abort
pushing to $TESTTMP/auto-publish-orig
abort: push would publish 2 changesets
(use --publish or adjust 'experimental.auto-publish' config)
[255]
$ hg push -r '.^' --config experimental.auto-publish=abort
pushing to $TESTTMP/auto-publish-orig
abort: push would publish 1 changesets
(use --publish or adjust 'experimental.auto-publish' config)
[255]
trying to push a secret changeset doesn't confuse auto-publish
$ hg phase --secret --force
test-debug-phase: move rev 1: 1 -> 2
$ hg push --config experimental.auto-publish=abort
pushing to $TESTTMP/auto-publish-orig
abort: push would publish 1 changesets
(use --publish or adjust 'experimental.auto-publish' config)
[255]
$ hg push -r . --config experimental.auto-publish=abort
pushing to $TESTTMP/auto-publish-orig
abort: push would publish 1 changesets
(use --publish or adjust 'experimental.auto-publish' config)
[255]
$ hg phase --draft
test-debug-phase: move rev 1: 2 -> 1

Anton Shestakov
committed
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
--publish flag makes push succeed
$ hg push -r '.^' --publish --config experimental.auto-publish=abort
pushing to $TESTTMP/auto-publish-orig
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 0: x -> 0
test-debug-phase: move rev 0: 1 -> 0
warn behavior
$ hg push --config experimental.auto-publish=warn
pushing to $TESTTMP/auto-publish-orig
1 changesets about to be published
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 1: x -> 0
test-debug-phase: move rev 1: 1 -> 0
confirm behavior
$ mkcommit a-p-C
test-debug-phase: new rev 2: x -> 1
$ hg push --config experimental.auto-publish=confirm
pushing to $TESTTMP/auto-publish-orig
push and publish 1 changesets (yn)? y
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 2: x -> 0
test-debug-phase: move rev 2: 1 -> 0
$ cd ..
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
--publish flag
--------------
$ hg init doesnt-publish
$ cd doesnt-publish
$ cat > .hg/hgrc << EOF
> [phases]
> publish=0
> EOF
$ mkcommit orig-root
test-debug-phase: new rev 0: x -> 1
$ hg phase --public -r 'all()'
test-debug-phase: move rev 0: 1 -> 0
$ cd ..
$ hg clone -q doesnt-publish client
$ cd client
pushing nothing
$ mkcommit new-A
test-debug-phase: new rev 1: x -> 1
$ mkcommit new-B
test-debug-phase: new rev 2: x -> 1
$ hg push --publish -r null
pushing to $TESTTMP/doesnt-publish
searching for changes
no changes found
[1]
$ hgph
@ 2 draft new-B - 89512e87d697
|
o 1 draft new-A - 4826e44e690e
|
o 0 public orig-root - c48edaf99a10
pushing a new changeset (selective)
$ hg push --publish -r 'desc("new-A")'
pushing to $TESTTMP/doesnt-publish
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 1: x -> 0
test-debug-phase: move rev 1: 1 -> 0
$ hgph
@ 2 draft new-B - 89512e87d697
|
o 1 public new-A - 4826e44e690e
|
o 0 public orig-root - c48edaf99a10
pushing a new changeset (linear)
$ hg push --publish
pushing to $TESTTMP/doesnt-publish
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 2: x -> 0
test-debug-phase: move rev 2: 1 -> 0
$ hgph
@ 2 public new-B - 89512e87d697
|
o 1 public new-A - 4826e44e690e
|
o 0 public orig-root - c48edaf99a10
pushing new changesets (different branches)
$ mkcommit new-C
test-debug-phase: new rev 3: x -> 1
$ hg update -q '.^'
$ hg branch -q another
$ mkcommit new-D
test-debug-phase: new rev 4: x -> 1
$ hg push --new-branch --publish
pushing to $TESTTMP/doesnt-publish
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files (+1 heads)
test-debug-phase: new rev 3: x -> 0
test-debug-phase: new rev 4: x -> 0
test-debug-phase: move rev 3: 1 -> 0
test-debug-phase: move rev 4: 1 -> 0
$ hgph
@ 4 public new-D - 5e53dcafd13c
|
| o 3 public new-C - 1665482cc06d
|/
o 2 public new-B - 89512e87d697
|
o 1 public new-A - 4826e44e690e
|
o 0 public orig-root - c48edaf99a10
pushing a shared changeset
$ mkcommit new-E
test-debug-phase: new rev 5: x -> 1
$ hg push
pushing to $TESTTMP/doesnt-publish
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
test-debug-phase: new rev 5: x -> 1
$ hg push --publish
pushing to $TESTTMP/doesnt-publish
searching for changes
no changes found
test-debug-phase: move rev 5: 1 -> 0
test-debug-phase: move rev 5: 1 -> 0
[1]
$ hgph
@ 5 public new-E - 48931ee3529c
|
o 4 public new-D - 5e53dcafd13c
|
| o 3 public new-C - 1665482cc06d
|/
o 2 public new-B - 89512e87d697
|
o 1 public new-A - 4826e44e690e
|
o 0 public orig-root - c48edaf99a10
$ cd ..
--publish with subrepos (doesn't propagate to subrepos currently)
$ hg init with-subrepo
$ cd with-subrepo
$ cat > .hg/hgrc << EOF
> [phases]
> publish=0
> EOF
$ hg init subrepo
$ cd subrepo
$ cat > .hg/hgrc << EOF
> [phases]
> publish=0
> EOF
$ echo foo > foo
$ hg ci -qAm0
test-debug-phase: new rev 0: x -> 1
$ cd ..
$ echo 'subrepo = subrepo' > .hgsub
$ hg add .hgsub
$ hg ci -m 'Adding subrepo'
test-debug-phase: new rev 0: x -> 1
$ hgph
@ 0 draft Adding subrepo - 74d5b62379c0
$ hgph -R subrepo
@ 0 draft 0 - 4b3f578e3344
$ cd ..
$ hg clone with-subrepo client-with-subrepo
updating to branch default
cloning subrepo subrepo from $TESTTMP/with-subrepo/subrepo
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd client-with-subrepo
$ hg push --publish
pushing to $TESTTMP/with-subrepo
no changes made to subrepo subrepo since last push to $TESTTMP/with-subrepo/subrepo
searching for changes
no changes found
test-debug-phase: move rev 0: 1 -> 0
test-debug-phase: move rev 0: 1 -> 0
[1]
$ hgph
@ 0 public Adding subrepo - 74d5b62379c0
$ hgph -R subrepo
@ 0 draft 0 - 4b3f578e3344