Phillip Hellewell wrote:

> On Fri, Nov 5, 2010 at 3:22 PM, Jon Paynter <kittl...@gmail.com> wrote:
>>
>> So do you have parallel streams of development all shooting for a common
>> release date?  Or do you have parallel releases with  seperate dates --
>> usually one occurring after the next in time.
> 
> Usually most devs working on a given product are working on the same
> branch, or at most two branches, but there are also several different
> products, all of which make use of certain shared components.
> Sometimes products are released together, but often there are
> different release dates.
> 
>> If parallel development, just put each stream in its own branch, and set
>> the affected version to a snapshot.  Hand that off to a developer and
>> wait. When the developer hands the completed code back, merge the branch
>> into the trunk/main/master branch and increment or change the version of
>> the artifacts they updated.    Repeat until everyone is done, then hand
>> it over to QA.
> 
> That's fine.  Yeah, having developers work on a branch until finished
> then merge back to the trunk is a good practice I think.  But I don't
> think that necessarily solves the issues with dependency management
> we've been talking about.
> 
>> The key here is to let your SCM keep track of the various versions of pom
>> files and dependencies via braching, and then merge it all back together
>> when the development task is done.
> 
> But while work is being done on several different branches, what do we
> do with the parent pom?  If we have dependency management in there, we
> either have to create several branches to maintain it (seems really
> complicated), or try to manage information about all dependencies on
> all branches at once (also seems complicated).

No, not really. Note, the parent pom does normally not reflect a physical 
parent. Therefore branching the "parent pom project" is normally one file - 
the pom. Keep in mind that this single file manages then all the 
dependencies of your branch. Merging the pom of the branch back, you can see 
immediately about the versions changed (of the artifacts in the branch and 
all their dependencies). At least if you do what Jon suggests and what we do 
also: No version in any dependency declaration.

> I'm thinking it will be easier to just manage the dependency versions
> inside the individual poms, which of course the SCM keeps track of on
> all the different branches.

Believe it, it will be more difficult to maintain the versions.

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to