Slava Imeshev | 8 Feb 2007 01:11
Picon
Favicon
Gravatar

Re: Continuous Integration Question


> Ah well not always.  This is where queuing is not the most descriptively
> precise word.  Lets say you set up a system where the developer locks all
> files in the codeline they are working on.  As well they create a task
> branch to work off.  Yes you heard me correctly the lock the files on the
> codeline and create a task branch.  When they are done they notify the build
> server of their task branch.  When I say build server it does not have to be
> just one server.  This could be many servers, in the next version of Team
> Systems they will be called build agents.  

Is this what Parabuild calls remote builders? http://www.viewtier.com/products/parabuild.htm

> So you have this queue of task  branches to be worked off.  You can have a number 
> of build servers working in parallel to integrate.
>
> So this is not my idea, credit to Joe Longo.  

I thought it was called Developer's Branch. Though I know MS has dev branches
that live unintegrated for years. Maybe that's how they are trying to increase feedback... 

> I would love to heard about
> how it wont work.  

See below. You've just described how :) Integration is all good until there are 
no conflicts, it doesn't matter if it is a branch  per change, no branches or 
anything else. In any case, the longer the branch stays off the target line,
the bigger integration pain. I think [eBay] developers coined term  "Integration 
Hell" for this.

> The main hole I can think of is:
> 
> Lets take notice of member foo on class bar.  As well there are two task
> branches.  One is altering the signature of foo.  The other task branch
> includes types that never used foo and or new types that use foo.  The first
> task branch to be built after either or both of these task branches has been
> merged will fail because of issues with foo.

Exactly. There are ways to address this, but being surrounded by proponents
of the distrustful integration serialization I better shut up :)

Regards,

Slava Imeshev

To Post a message, send it to:   extremeprogramming <at> eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe <at> eGroups.com

ad-free courtesy of objectmentor.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/extremeprogramming/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/extremeprogramming/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:extremeprogramming-digest <at> yahoogroups.com 
    mailto:extremeprogramming-fullfeatured <at> yahoogroups.com

<*> To unsubscribe from this group, send an email to:
    extremeprogramming-unsubscribe <at> yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


Gmane