news from the topic experiment

Long Vu long.vu at intelerad.com
Fri Sep 23 11:50:09 EDT 2016


On Wed, Sep 14, 2016 at 3:14 PM, Pierre-Yves David
<pierre-yves.david at ens-lyon.org> wrote:
>
>   https://www.mercurial-scm.org/repo/topic-experiment/
>

Sorry for jumping late to the discussion.

I am a very happy Evolve user and so far I manage to basically
replicate the lightweight branching of git with just evolve.  Just
sharing my experience in case it sparks other ideas.

I emulate git lightweight branching by basically using named branch
with evolve and working on the fork of the "master" repo.

Disclaimer: we are only 2 using this workflow so far to collaborate so
we probably not hitting any rough edge yet.

user1: hg branch, modify code, hg commit, hg commit ... push to the fork repo

user2: pull update to that branch, more commits, push to the fork repo

user1: pull, evolve --all, more commits, push to the fork repo

rince and repeat for both users until the bug/feature is complete

when ready to "release": hg rebase -d default -s roots(branchname),
push to master repo

This way:

* only the fork repo is polluted with all the temporary branches and
intermediate revisions

* hg log -r 'branch(name)' gives me all the commits of that branch, a
feature that is harder to replicate with bookmarks

* in that "temporary branch that only exist on the fork repo" we can
do all kind of surgery (fold, split, rebase, evolve, prune, ...) and
all history is kept until the project is over and is all tracked with
the branch name: hg log -r 'branch(name)' --hidden

I feel like this even gives me more than just git lightweight
branching as I have full old history all neatly organized in the
"temporary branch" and I can "push changes to the other user's
checkout via evolve" the features that native git lightweight
branching do not even provide.

So very happy camper so far.


-- 
Long Vu | Build Controller | Intelerad | +1-514-931-6222 ext. 7743

-- 

This email or any attachments may contain confidential or legally 
privileged information intended for the sole use of the addressees. Any 
use, redistribution, disclosure, or reproduction of this information, 
except as intended, is prohibited. If you received this email in error, 
please notify the sender and remove all copies of the message, including 
any attachments.



More information about the Mercurial-devel mailing list