[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: General question regarding development branches on CVS

From: Jim Hyslop
Subject: Re: General question regarding development branches on CVS
Date: Tue, 08 Nov 2005 11:40:07 -0500
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

Hash: SHA1

Farshad Mahjoubi wrote:
> Thanks Jim

You're welcome.

>       For your detailed email very informative, I guess I have question
> regarding frequent merges if you can elaborate on that.
>       I have branched of 6 projects which they combine one product to be
> shipped soon, we do integration builds every Wednesday and Friday tag
> everthing and build/test it. The developers work on this branches and
> edit/submit code and we will have to do big merge to trunk soon.
>       1) How can you manage frequent merges? 

Just do it :=) Seriously, though, I'm not quite clear on what you mean
by "manage" in this context. I'll just start rambling, and if it answers
your concerns, great! If not, let me know.

By the way, full builds twice a week is good (daily is better,
especially if you can automate it). But back to managing the merging.

When developers check their code in on the branch, then they should
immediately merge their changes into the trunk. That will avoid doing a
big merge to the trunk. Anyone working on the trunk should also be
frequently checking in, and refreshing from the repository. They should
have very little merging work to do, since the developer who merged from
the branch should have cleaned up any problems with the merge before
committing to the trunk.

One key to this is breaking down work into small chunks that will take
no more than a couple of days to put together. The checked in code does
not necessarily have to be fully functional, but should at least
compile, link and run without crashing the program or affecting other,
existing functionality. This takes a lot of discipline, and many Agile
methods can help (Scrum, Extreme Programming, having a good set of unit
tests, and so on).

>       2) Do I need to retag everything and do extra build in trunk now to
> make  sure the trunk is healty?

It sounds like you've been delaying the merge for quite a while, so
there could be a lot of work to do (on the other hand, you might be
pleasantly surprised and have very little fixing up to do). It's always
a good idea to apply a tag before any major work is performed, whether
it's a merge or other major commit. For merges, validating the target
branch (the trunk, in this case) before you merge is a good idea as
well: good thinking.

- --
Jim Hyslop
Dreampossible: Better software. Simply.
                 Consulting * Mentoring * Training in
    C/C++ * OOD * SW Development & Practices * Version Management
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Thunderbird -


reply via email to

[Prev in Thread] Current Thread [Next in Thread]