phases, local and remote; topics
Uwe Brauer
oub at mat.ucm.es
Mon Dec 21 16:31:25 UTC 2020
Hi
I just noted that when pulling from
https://dev.heptapod.net/mercurial/hg-git
And running
Hg log -G
I see.
â â changeset: 1484:c6a262158160
ââ± Branch: default
â Author: Dan Villiom Podlaski Christiansen <danchr at gmail.com>
â Date: Wed, 09 Dec 2020 23:24:54 +0100
â Topic: ci-tweaks
â Phase: draft
â Summary: ci: fix XML report path
â
â changeset: 1483:19d34b8f69da
â Branch: default
â Author: Dan Villiom Podlaski Christiansen <danchr at gmail.com>
â Date: Sat, 12 Dec 2020 13:11:18 +0100
â Phase: public
â Summary: ssh: fix Python 3 and Windows
That is precisely the behavior I would like to have for the repositories
I push to Helix, the ones with a topic are (still) in the draft phase,
while the topic free ones are in the public phase.
Now in my understanding the logic behind phases is this
| | | remote | local | pull | push | clone |
|---+---------------+--------+-------+--------+--------+--------|
| 1 | phase publish | true | true | public | public | public |
| 2 | | true | false | draft | public | draft |
| 3 | | false | false | draft | draft | draft |
| 4 | | false | true | public | draft | public |
I tried to simulate this by
starting a fresh local repository like this
$ mkdir Server
$ cd Server
$ hg init
$ echo "[phase]\npublish=false" >> .hg/hgrc
$ echo "First line" >> test.org
$ hg addremove
$ hg ci -m "First commit not publishing"
Then I wanted to consider Server as remote and clone it and consider the
Clone as local. But something did not work as expected.
In my global .hgrc I have
[phases]
publish = True
So after cloning
hg clone Server local
cd local
hg log -G
changeset: 0:a40cb56af932
Branch: default
tag: tip
Author: Uwe Brauer <oub at mat.ucm.es>
Date: Mon, 21 Dec 2020 17:26:16 +0100
Phase: public
Summary: First commit not publishing
echo "Change" >> test.org
hg ci -m "Change local"
hg push
hg log -G
â changeset: 1:2c383a3d8fa0
â Branch: default
â tag: tip
â Author: Uwe Brauer <oub at mat.ucm.es>
â Date: Mon, 21 Dec 2020 17:27:44 +0100
â Phase: public
â Summary: Change
â
â changeset: 0:a40cb56af932
Branch: default
Author: Uwe Brauer <oub at mat.ucm.es>
Date: Mon, 21 Dec 2020 17:26:16 +0100
Phase: public
Summary: First commit not publishing
But the "Server/remote setting" is
[phase]
publish=false
So why is the phase after pushing public?
Most likely I cannot consider the repo Server as remote.
So in short how can I achieve the behavior
â â changeset: 1484:c6a262158160
ââ± Branch: default
â Author: Dan Villiom Podlaski Christiansen <danchr at gmail.com>
â Date: Wed, 09 Dec 2020 23:24:54 +0100
â Topic: ci-tweaks
â Phase: draft
â Summary: ci: fix XML report path
â
â changeset: 1483:19d34b8f69da
â Branch: default
â Author: Dan Villiom Podlaski Christiansen <danchr at gmail.com>
â Date: Sat, 12 Dec 2020 13:11:18 +0100
â Phase: public
â Summary: ssh: fix Python 3 and Windows
Either for pseudo remote directories
Or which is more important for Helix
I presume
[phase]
publish=false
[experimental]
topic.publish-bare-branch = yes
If helix supports this feature.
More information about the Mercurial
mailing list