[Bioperl-l] bioperl-dev or branch?
Robert Buels
rmb32 at cornell.edu
Fri May 22 03:44:23 UTC 2009
Hilmar Lapp wrote:
> Yes, if by "highly experimental things" we are talking about
> experimental versions of modules that already exist in either
> bioperl-core or bioperl-dev.
> [snip]
> Yeah I think that's why bioperl-dev and bioperl-core need to be disjoint
> sets. Or do you think that even in that case your scenario could be a
> problem?
It's just the normal way to develop a new, potentially disruptive
feature: branch, develop your feature (possibly pulling updates from the
main branch if you feel that you need to), and then when it's far enough
along for development to proceed on the trunk, you use your version
control system's merging tools to merge the changes into the trunk, toss
out your old branch, and continue your polishing on the trunk. That's
just the way it's usually done nowadays, with modern version control
systems.
If the things you're doing on the branch don't overlap at all with the
existing code from the trunk, the merge is completely clean and you're
golden. However, if your changes are not completely disjoint, with
merging you have a pretty good shot of getting them in there cleanly and
automatically, whereas if you're developing essentially outside of the
codebase, you're going to either have to merge your changes in manually.
In the disjoint case, you're equally fine with a branch, and in the
non-disjoint case, you are much better off with a branch. One of the
cases is a tie, and one is a clear win.
Trust your version control system, and use its features.
Rob
P.S. more modern version control systems make this sort of thing quite a
bit easier than with svn, but svn's simple merge functionality is still
better than merging changes manually.
More information about the Bioperl-l
mailing list