On Jul 5, 2018, at 12:22 PM, Nicola <nvitacolo...@gmail.com> wrote:
> moving check-ins between branches is implemented by simply renaming tags.

It’s better to say that you can move a checkin *and all of its children* by 
adding/changing a propagating tag to that checkin.  In Fossil UI, this is the 
"Make this check-in the start of a new branch named:” option.

You cannot take a checkin with children and move just that one checkin to 
another branch with a single tag manipulation.  For such tasks, we have to fall 
back on “fossil merge --cherrypick”.

Furthermore, you can’t merge checkins from one branch into another solely by 
messing with the tags on a checkin, whether plain-old tags as I think the OP 
was doing or the self-propagating tags that are the basis of Fossil’s branching 

Here’s my best-effort attempt at recreating what the OP described:


You either end up with two trunk branches or a single branch plus a checkin off 
the trunk branch that also happens to be tagged “trunk”.

I suspect what drh meant up-thread about an easier method in Fossil UI to fix 
this is that you should be able to straighten out a tangle in the timeline by 
re-applying propagating tags to the root of the branches to disentangle them.  
I agree that such tools are too rarely needed to be worth spending time on.  We 
have alternate tarpit escape methods that work well enough already.
fossil-users mailing list

Reply via email to