feature proposal: named branches without named branches
Arne Babenhauserheide
arne_bab at web.de
Thu Nov 17 22:59:56 UTC 2016
Uwe Brauer writes:
> Hi Arne,
>
> > Hi Uwe,
>
> > Here’s a simpler version:
>
>
> > * (master) (HEAD -> master)
> > |\
> > | * (foo) (foo)
> > | |
> > | * (foo~1)
> > | |
> > * | (master~1)
> > |/
> > |
> > * (foo~2)
>
> > As you an see, the commit at the bottom is misattributed to foo, but it
> > was created on master.
>
> Yes. I noted that you already added a comment to the blog I mention. I
> am curious to see how the author will react.
Same for me (though I don’t have much hope given the history I have with felipec).
> > This is not quite true :)
>
> > What you can do is using mutable hg. That gives you a way to rename
> > branches and others can simply follow up via `hg evolve`.
>
>
> Thanks, that sounds interesting.
Especially the following by others is a huge step forward (and past
git): You can actually rewrite history collaboratively as long as you
did not publish it yet.
> > That gives named branches the flexibility of bookmarks (but is still
> > experimental - though that’s been the state for years).
>
> > See https://www.mercurial-scm.org/wiki/EvolveExtension
>
> I will give that a try, I just scanned a bit the documentation, but at
> first glance I don't see how to rename a branch easily.
>
> Can you give me a hint (but I do not want to abuse you generosity :-D )
Since this gives me an excuse to test evolve myself again, gladly ☺
You simply amend the changeset which initially set the branch and then
evolve the history:
# create repo with wrong branch name
hg init foo
cd foo
echo 1 > 1
hg ci -Am 1
echo stable > 1
hg branch stapling
hg ci -m stable
echo stable2 > 1
hg ci -m stable2
# change the initial choice of the branch name
hg up 1
hg branch stable
hg amend # notes that there is an unstable changeset
# evolve the history
hg evolve
# and check that it’s correct
hg glog
The result is this:
@ changeset: 5:a514636a4ef4
| branch: stable
| tag: tip
| user: Arne Babenhauserheide <bab at draketo.de>
| date: Thu Nov 17 23:51:03 2016 +0100
| summary: stable2
|
o changeset: 4:15b134eb1bcd
| branch: stable
| parent: 0:4c3d391118f6
| user: Arne Babenhauserheide <bab at draketo.de>
| date: Thu Nov 17 23:50:57 2016 +0100
| summary: stable
|
o changeset: 0:4c3d391118f6
user: Arne Babenhauserheide <bab at draketo.de>
date: Thu Nov 17 23:50:38 2016 +0100
summary: 1
Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 800 bytes
Desc: not available
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20161117/1767e758/attachment.asc>
More information about the Mercurial
mailing list