##// END OF EJS Templates
tests: eliminate daemon race in test-bad-pull
tests: eliminate daemon race in test-bad-pull

File last commit:

r16195:40cc2004 stable
r16296:4343d522 stable
Show More
test-phases-exchange.t
1055 lines | 21.3 KiB | text/troff | Tads3Lexer
/ tests / test-phases-exchange.t
Pierre-Yves David
phases: marked content of a changegroup as published
r15484 $ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> EOF
Mads Kiilerich
tests: don't use alias...
r16013 $ hgph() { hg log -G --template "{rev} {phase} {desc} - {node|short}\n" $*; }
Pierre-Yves David
phases: marked content of a changegroup as published
r15484
$ mkcommit() {
> echo "$1" > "$1"
> hg add "$1"
Pierre-Yves David
phases: do not exchange secret changesets...
r15713 > message="$1"
> shift
> hg ci -m "$message" $*
Pierre-Yves David
phases: marked content of a changegroup as published
r15484 > }
$ hg init alpha
$ cd alpha
$ mkcommit a-A
$ mkcommit a-B
$ mkcommit a-C
$ mkcommit a-D
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 3 draft a-D - b555f63b6063
|
o 2 draft a-C - 54acac6f23ab
|
o 1 draft a-B - 548a3d25dbf0
|
o 0 draft a-A - 054250a37db4
Pierre-Yves David
phases: marked content of a changegroup as published
r15484
$ hg init ../beta
$ hg push -r 1 ../beta
pushing to ../beta
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485 $ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 3 draft a-D - b555f63b6063
|
o 2 draft a-C - 54acac6f23ab
|
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485
Pierre-Yves David
phases: marked content of a changegroup as published
r15484 $ cd ../beta
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: marked content of a changegroup as published
r15484 $ hg up -q
$ mkcommit b-A
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 2 draft b-A - f54f1bb90ff3
|
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: marked content of a changegroup as published
r15484 $ hg pull ../alpha
pulling from ../alpha
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 4 public a-D - b555f63b6063
|
o 3 public a-C - 54acac6f23ab
|
| @ 2 draft b-A - f54f1bb90ff3
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: marked content of a changegroup as published
r15484
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485 pull did not updated ../alpha state.
push from alpha to beta should update phase even if nothing is transfered
Pierre-Yves David
phases: marked content of a changegroup as published
r15484
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485 $ cd ../alpha
$ hgph # not updated by remote pull
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 3 draft a-D - b555f63b6063
|
o 2 draft a-C - 54acac6f23ab
|
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485 $ hg push ../beta
pushing to ../beta
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485 $ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 3 public a-D - b555f63b6063
|
o 2 public a-C - 54acac6f23ab
|
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: mark content pushed as public in local repo on push
r15485
Pierre-Yves David
phases: set common changeset to public on pull
r15486 update must update phase of common changeset too
$ hg pull ../beta # getting b-A
pulling from ../beta
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ cd ../beta
$ hgph # not updated by remote pull
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 4 public a-D - b555f63b6063
|
o 3 public a-C - 54acac6f23ab
|
| @ 2 draft b-A - f54f1bb90ff3
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: set common changeset to public on pull
r15486 $ hg pull ../alpha
pulling from ../alpha
searching for changes
no changes found
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 4 public a-D - b555f63b6063
|
o 3 public a-C - 54acac6f23ab
|
| @ 2 public b-A - f54f1bb90ff3
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: set common changeset to public on pull
r15486
Pierre-Yves David
phases: add a phases.publish option...
r15646 Publish configuration option
----------------------------
Pierre-Yves David
phases: set common changeset to public on pull
r15486
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650 Pull
````
Pierre-Yves David
phases: add a phases.publish option...
r15646 changegroup are added without phase movement
$ hg bundle -a ../base.bundle
5 changesets found
$ cd ..
$ hg init mu
$ cd mu
$ cat > .hg/hgrc << EOF
> [phases]
> publish=0
> EOF
$ hg unbundle ../base.bundle
adding changesets
adding manifests
adding file changes
added 5 changesets with 5 changes to 5 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 4 draft a-D - b555f63b6063
|
o 3 draft a-C - 54acac6f23ab
|
| o 2 draft b-A - f54f1bb90ff3
|/
o 1 draft a-B - 548a3d25dbf0
|
o 0 draft a-A - 054250a37db4
Pierre-Yves David
phases: update exchange test to include node hash....
r15647 $ cd ..
Pierre-Yves David
phases: add a phases.publish option...
r15646
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650 Pulling from publish=False to publish=False does not move boundary.
$ hg init nu
$ cd nu
$ cat > .hg/hgrc << EOF
> [phases]
> publish=0
> EOF
$ hg pull ../mu -r 54acac6f23ab
pulling from ../mu
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 3 files
(run 'hg update' to get a working copy)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 2 draft a-C - 54acac6f23ab
|
o 1 draft a-B - 548a3d25dbf0
|
o 0 draft a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650
Even for common
$ hg pull ../mu -r f54f1bb90ff3
pulling from ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 3 draft b-A - f54f1bb90ff3
|
| o 2 draft a-C - 54acac6f23ab
|/
o 1 draft a-B - 548a3d25dbf0
|
o 0 draft a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650
Pulling from Publish=True to Publish=False move boundary in common set.
we are in nu
$ hg pull ../alpha -r b555f63b6063
pulling from ../alpha
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 $ hgph # f54f1bb90ff3 stay draft, not ancestor of -r
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 4 public a-D - b555f63b6063
|
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 3 draft b-A - f54f1bb90ff3
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
o | 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650
pulling from Publish=False to publish=False with some public
$ hg up -q f54f1bb90ff3
$ mkcommit n-A
$ mkcommit n-B
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 6 draft n-B - 145e75495359
|
o 5 draft n-A - d6bcb4f74035
|
| o 4 public a-D - b555f63b6063
| |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 o | 3 draft b-A - f54f1bb90ff3
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650 $ cd ../mu
$ hg pull ../nu
pulling from ../nu
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
(run 'hg update' to get a working copy)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 6 draft n-B - 145e75495359
|
o 5 draft n-A - d6bcb4f74035
|
| o 4 public a-D - b555f63b6063
| |
| o 3 public a-C - 54acac6f23ab
| |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 o | 2 draft b-A - f54f1bb90ff3
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 |/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650 $ cd ..
pulling into publish=True
$ cd alpha
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 4 public b-A - f54f1bb90ff3
|
| @ 3 public a-D - b555f63b6063
| |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650 $ hg pull ../mu
pulling from ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
(run 'hg update' to get a working copy)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 6 draft n-B - 145e75495359
|
o 5 draft n-A - d6bcb4f74035
|
o 4 public b-A - f54f1bb90ff3
|
| @ 3 public a-D - b555f63b6063
| |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on pull...
r15650 $ cd ..
pulling back into original repo
$ cd nu
$ hg pull ../alpha
pulling from ../alpha
searching for changes
no changes found
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 6 public n-B - 145e75495359
|
o 5 public n-A - d6bcb4f74035
|
| o 4 public a-D - b555f63b6063
| |
o | 3 public b-A - f54f1bb90ff3
| |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Push
````
Pierre-Yves David
phases: change publish behavior to only alter behavior when server....
r15659 (inserted)
Test that phase are pushed even when they are nothing to pus
(this might be tested later bu are very convenient to not alter too much test)
Push back to alpha
$ hg push ../alpha # from nu
pushing to ../alpha
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Pierre-Yves David
phases: change publish behavior to only alter behavior when server....
r15659 $ cd ..
$ cd alpha
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 6 public n-B - 145e75495359
|
o 5 public n-A - d6bcb4f74035
|
o 4 public b-A - f54f1bb90ff3
|
| @ 3 public a-D - b555f63b6063
| |
| o 2 public a-C - 54acac6f23ab
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: change publish behavior to only alter behavior when server....
r15659
(end insertion)
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 initial setup
Pierre-Yves David
phases: change publish behavior to only alter behavior when server....
r15659 $ hg glog # of alpha
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 o changeset: 6:145e75495359
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: n-B
|
o changeset: 5:d6bcb4f74035
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: n-A
|
o changeset: 4:f54f1bb90ff3
| parent: 1:548a3d25dbf0
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b-A
|
| @ changeset: 3:b555f63b6063
| | user: test
| | date: Thu Jan 01 00:00:00 1970 +0000
| | summary: a-D
| |
| o changeset: 2:54acac6f23ab
|/ user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: a-C
|
o changeset: 1:548a3d25dbf0
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: a-B
|
o changeset: 0:054250a37db4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a-A
$ mkcommit a-E
$ mkcommit a-F
$ mkcommit a-G
$ hg up d6bcb4f74035 -q
$ mkcommit a-H
created new head
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 10 draft a-H - 967b449fbc94
|
| o 9 draft a-G - 3e27b6f1eee1
| |
| o 8 draft a-F - b740e3e5c05d
| |
| o 7 draft 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Pierre-Yves David
bundlerepo: bundle repos should be non-publishing (issue3266)...
r16195 Pulling from bundle does not alter phases of changeset not present in the bundle
$ hg bundle --base 1 -r 6 -r 3 ../partial-bundle.hg
5 changesets found
$ hg pull ../partial-bundle.hg
pulling from ../partial-bundle.hg
searching for changes
no changes found
$ hgph
@ 10 draft a-H - 967b449fbc94
|
| o 9 draft a-G - 3e27b6f1eee1
| |
| o 8 draft a-F - b740e3e5c05d
| |
| o 7 draft 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 Pushing to Publish=False (unknown changeset)
$ hg push ../mu -r b740e3e5c05d # a-F
pushing to ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 10 draft a-H - 967b449fbc94
|
| o 9 draft a-G - 3e27b6f1eee1
| |
| o 8 draft a-F - b740e3e5c05d
| |
| o 7 draft 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
$ cd ../mu
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 $ hgph # again f54f1bb90ff3, d6bcb4f74035 and 145e75495359 stay draft,
> # not ancestor of -r
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 8 draft a-F - b740e3e5c05d
|
o 7 draft a-E - e9f537e46dea
|
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 6 draft n-B - 145e75495359
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 5 draft n-A - d6bcb4f74035
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
o | 4 public a-D - b555f63b6063
| |
o | 3 public a-C - 54acac6f23ab
| |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 2 draft b-A - f54f1bb90ff3
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 |/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Pushing to Publish=True (unknown changeset)
$ hg push ../beta -r b740e3e5c05d
pushing to ../beta
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 $ hgph # again f54f1bb90ff3, d6bcb4f74035 and 145e75495359 stay draft,
> # not ancestor of -r
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 8 public a-F - b740e3e5c05d
|
o 7 public a-E - e9f537e46dea
|
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 6 draft n-B - 145e75495359
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 5 draft n-A - d6bcb4f74035
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
o | 4 public a-D - b555f63b6063
| |
o | 3 public a-C - 54acac6f23ab
| |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 | o 2 draft b-A - f54f1bb90ff3
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 |/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Pushing to Publish=True (common changeset)
$ cd ../beta
$ hg push ../alpha
pushing to ../alpha
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 $ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 6 public a-F - b740e3e5c05d
|
o 5 public a-E - e9f537e46dea
|
o 4 public a-D - b555f63b6063
|
o 3 public a-C - 54acac6f23ab
|
| @ 2 public b-A - f54f1bb90ff3
|/
o 1 public a-B - 548a3d25dbf0
|
o 0 public a-A - 054250a37db4
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 $ cd ../alpha
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 $ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 10 draft 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Pushing to Publish=False (common changeset that change phase + unknown one)
$ hg push ../mu -r 967b449fbc94 -f
pushing to ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 10 draft 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 $ cd ../mu
$ hgph # d6bcb4f74035 should have changed phase
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 > # 145e75495359 is still draft. not ancestor of -r
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 o 9 draft a-H - 967b449fbc94
|
| o 8 public a-F - b740e3e5c05d
| |
| o 7 public a-E - e9f537e46dea
| |
Pierre-Yves David
push: prevent moving phases outside of the pushed subset
r15956 +---o 6 draft n-B - 145e75495359
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 | |
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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Pushing to Publish=True (common changeset from publish=False)
Pierre-Yves David
phases: do not exchange secret changesets...
r15713 (in mu)
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 $ hg push ../alpha
pushing to ../alpha
searching for changes
no changes found
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 $ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651 $ hgph -R ../alpha # a-H should have been synced to 0
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 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
Pierre-Yves David
phases: exchange phase boundaries on push...
r15651
Pierre-Yves David
phases: do not exchange secret changesets...
r15713
Discovery locally secret changeset on a remote repository:
- should make it non-secret
$ cd ../alpha
$ mkcommit A-secret --config phases.new-commit=2
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 11 secret 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
Pierre-Yves David
phases: do not exchange secret changesets...
r15713 $ hg bundle --base 'parents(.)' -r . ../secret-bundle.hg
1 changesets found
$ hg -R ../mu unbundle ../secret-bundle.hg
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
$ hgph -R ../mu
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 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
Pierre-Yves David
phases: do not exchange secret changesets...
r15713 $ hg pull ../mu
pulling from ../mu
searching for changes
no changes found
$ hgph
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 @ 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
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889
Pierre-Yves David
phases: move phase according what was pushed not only what was added added...
r15891 pushing a locally public and draft changesets remotly secret should make them appear on the remote side
$ hg -R ../mu phase --secret --force 967b449fbc94
$ hg push -r 435b5d83910c ../mu
pushing to ../mu
searching for changes
adding changesets
adding manifests
adding file changes
added 0 changesets with 0 changes to 2 files
$ 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
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 pull new changeset with common draft locally
$ hg up -q 967b449fbc94 # create a new root for draft
$ mkcommit 'alpha-more'
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)
$ cd ../mu
$ hg phase --secret --force 1c5cfd894796
$ hg up -q 435b5d83910c
$ mkcommit 'mu-more'
$ 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
(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
Pierre-Yves David
phases: copy phases data on local clone
r15740 $ cd ..
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 $ hg clone -qU -r b555f63b6063 -r f54f1bb90ff3 beta gamma
# pathological case are
#
# * secret remotely
# * known locally
# * repo have uncommon changeset
$ hg -R beta phase --secret --force f54f1bb90ff3
$ hg -R gamma phase --draft --force f54f1bb90ff3
$ 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
(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/
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
Matt Mackall
push: return 1 if no changes found (issue3228)...
r16023 [1]
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 $ hg phase f54f1bb90ff3
2: draft
put the changeset in the draft state again
(first test after this one expect to be able to copy)
$ cd ..
Pierre-Yves David
phases: copy phases data on local clone
r15740 Test Clone behavior
Pierre-Yves David
phases: do not exchange secret changesets...
r15713
Pierre-Yves David
phases: copy phases data on local clone
r15740 A. Clone without secret changeset
Pierre-Yves David
phases: do not exchange secret changesets...
r15713
Pierre-Yves David
phases: copy phases data on local clone
r15740 1. cloning non-publishing repository
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 (Phase should be preserved)
Pierre-Yves David
phases: copy phases data on local clone
r15740
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 # make sure there is no secret so we can use a copy clone
$ hg -R mu phase --draft 'secret()'
Pierre-Yves David
phases: copy phases data on local clone
r15740
$ hg clone -U mu Tau
$ hgph -R Tau
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 o 12 draft mu-more - 5237fb433fc8
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 |
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 | o 11 draft alpha-more - 1c5cfd894796
| |
o | 10 draft A-secret - 435b5d83910c
|/
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 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
Pierre-Yves David
phases: copy phases data on local clone
r15740
Pierre-Yves David
phases: on copy clone, do not copy phases data if repote is publishing
r15741 2. cloning publishing repository
(everything should be public)
$ hg clone -U alpha Upsilon
$ hgph -R Upsilon
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 o 13 public mu-more - 5237fb433fc8
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 |
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889 | o 12 public alpha-more - 1c5cfd894796
| |
o | 11 public A-secret - 435b5d83910c
|/
Pierre-Yves David
phases: use graph and phase name in exchange test
r15824 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
Pierre-Yves David
phases: make secret changeset undiscoverable in all case...
r15889