> I have a fossil repo with two branches: trunk and features. My thinking
> was to develop the new features requested on the features branch,
> keeping the trunk branch unchanged unless something happened with the
> application that required an immediate change. Then once some set of
> features was done, I'd merge it back it into the trunk, which I expected
> to do with something like:
>
>     fossil checkout trunk
>     fossil merge features
>
> But I note that the merge documentation says that it will not move files
> in trunk if they've been moved in features, only merge in the changes.
> That will cause my application to break. How can I merge the entire set
> of changes? Or is this wrong-headed in fossil? Should I be merging any
> small changes from trunk into features instead, closing "trunk", and
> making features the new trunk? (Can I change the name?)
>
> --
> Joshua Paine

Having a features branch for new development is a perfectly reasonable SCM
pattern, with the advantage that there will never be any spurious branches
(forks) on trunk. I think your problem is in how you look at a merge. The
SCM software should not be deciding which parent should win in a merge
conflict, and that is what a moved file is, a conflict. There is no single
behaviour that Fossil could have in this situation that would be right for
everyone (or for the same person every time!), so you will have to sort it
out for yourself.

I would identify the moves that had happened in Features, do them in
Trunk, then do the merge.

It doesn't change anything about the merges, but it is sometimes useful to
merge trunk into features one or more times during development, to make it
less likely that new development will break a fix.

Doing the merge the other way round is "branch per release", where you
would be merging last-release-plus-fixes into current-release, then
creating a new branch for next-release, retaining current-release for
fixes. I think in this case the branches should be named after the
releases (even if only something like rel2010-01), and trunk should be
ignored.

But it doesn't make resolving conflicts any easier.

Regards,

Eric

_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to