Mercurial > hg
view tests/test-phases.t @ 15823:a1f818a2b50d
phases: ``{phase}`` template keyword display the phase name
``{phaseidx}`` is providing the phase index as integer. This integer
representation is useful when people need to use the fact that phase are
ordered.
Test keep using the number version for readability purpose.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Fri, 06 Jan 2012 11:20:49 +0100 |
parents | 2673006f7989 |
children | 8ed112ed774a |
line wrap: on
line source
$ alias hglog='hg log --template "{rev} {phaseidx} {desc}\n"' $ mkcommit() { > echo "$1" > "$1" > hg add "$1" > message="$1" > shift > hg ci -m "$message" $* > } $ hg init initialrepo $ cd initialrepo $ mkcommit A New commit are draft by default $ hglog 0 1 A Following commit are draft too $ mkcommit B $ hglog 1 1 B 0 1 A Draft commit are properly created over public one: $ hg pull -q . # XXX use the dedicated phase command once available $ hglog 1 0 B 0 0 A $ mkcommit C $ mkcommit D $ hglog 3 1 D 2 1 C 1 0 B 0 0 A Test creating changeset as secret $ mkcommit E --config phases.new-commit=2 $ hglog 4 2 E 3 1 D 2 1 C 1 0 B 0 0 A Test the secret property is inherited $ mkcommit H $ hglog 5 2 H 4 2 E 3 1 D 2 1 C 1 0 B 0 0 A Even on merge $ hg up -q 1 $ mkcommit "B'" created new head $ hglog 6 1 B' 5 2 H 4 2 E 3 1 D 2 1 C 1 0 B 0 0 A $ hg merge 4 # E 3 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg ci -m "merge B' and E" $ hglog 7 2 merge B' and E 6 1 B' 5 2 H 4 2 E 3 1 D 2 1 C 1 0 B 0 0 A Test secret changeset are not pushed $ hg init ../push-dest $ cat > ../push-dest/.hg/hgrc << EOF > [phases] > publish=False > EOF $ hg push ../push-dest -f # force because we push multiple heads pushing to ../push-dest searching for changes adding changesets adding manifests adding file changes added 5 changesets with 5 changes to 5 files (+1 heads) $ hglog 7 2 merge B' and E 6 1 B' 5 2 H 4 2 E 3 1 D 2 1 C 1 0 B 0 0 A $ cd ../push-dest $ hglog 4 1 B' 3 1 D 2 1 C 1 0 B 0 0 A $ cd .. Test secret changeset are not pull $ hg init pull-dest $ cd pull-dest $ hg pull ../initialrepo pulling from ../initialrepo requesting all changes 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) $ hglog 4 0 B' 3 0 D 2 0 C 1 0 B 0 0 A $ cd .. Test revset $ cd initialrepo $ hglog -r 'public()' 0 0 A 1 0 B $ hglog -r 'draft()' 2 1 C 3 1 D 6 1 B' $ hglog -r 'secret()' 4 2 E 5 2 H 7 2 merge B' and E