From dev-return-7785-apmail-continuum-dev-archive=continuum.apache.org@continuum.apache.org Fri Jan 23 04:54:38 2009 Return-Path: Delivered-To: apmail-continuum-dev-archive@www.apache.org Received: (qmail 88063 invoked from network); 23 Jan 2009 04:54:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Jan 2009 04:54:37 -0000 Received: (qmail 10847 invoked by uid 500); 23 Jan 2009 02:07:56 -0000 Delivered-To: apmail-continuum-dev-archive@continuum.apache.org Received: (qmail 10807 invoked by uid 500); 23 Jan 2009 02:07:56 -0000 Mailing-List: contact dev-help@continuum.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@continuum.apache.org Delivered-To: mailing list dev@continuum.apache.org Received: (qmail 10796 invoked by uid 99); 23 Jan 2009 02:07:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 22 Jan 2009 18:07:56 -0800 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of ctan@exist.com designates 209.85.200.170 as permitted sender) Received: from [209.85.200.170] (HELO wf-out-1314.google.com) (209.85.200.170) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Jan 2009 02:07:48 +0000 Received: by wf-out-1314.google.com with SMTP id 25so4988673wfc.14 for ; Thu, 22 Jan 2009 18:07:26 -0800 (PST) MIME-Version: 1.0 Received: by 10.142.43.7 with SMTP id q7mr467008wfq.295.1232676446248; Thu, 22 Jan 2009 18:07:26 -0800 (PST) In-Reply-To: References: Date: Fri, 23 Jan 2009 10:07:26 +0800 Message-ID: <10c62ca80901221807w5cbd1020i69fdd2dd8f15e92a@mail.gmail.com> Subject: Re: In distributed build, how does Continuum decide whether there have been scm changes? From: Marica Tan To: dev@continuum.apache.org Content-Type: multipart/alternative; boundary=000e0cd30470b39fed04611cd98c X-Virus-Checked: Checked by ClamAV on apache.org --000e0cd30470b39fed04611cd98c Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On Tue, Jan 20, 2009 at 9:15 AM, Wendy Smoak wrote: > I'm trying to understand how, if a project may build on any agent, > Continuum can determine whether there have been scm changes since the > last time it was built. Here's what I think should happen (scheduled > builds, assuming Always Build and Build Fresh are NOT checked): > > Add project > 1:00pm Build on agent 1, checkout at r500 > 2:00pm Build on agent 2, checkout at r500 <--- no changes, project > should not build > 2:15pm developer makes scm changes > 3:00pm Build on agent 2 update to r501, build because there were changes > 4:00pm Build on agent 1 update to r501 <---- no changes, project > should not build > This is possible, but IMO the master needs to keep track of the revisions so that when agent 1 tries to build project @ 4:00pm it will only update the working copy but it won't build the project. Our initial plan is to have a dumb build agent so all it knows is how to build. When it's a scheduled build, it will always build regardless if there is or there isn't any change at all. We can add the check for whether it should build or not in the next pass. > But I'm not sure how Continuum makes its determination of whether > there have been changes, (even without Distributed Build.) > It first updates the working copy and then set the project's scm result (with scm changes). Project has a one to one relationship with ScmResult. Everytime you update the working copy, it merges the new scm changes with the old scm changes unless it says build fresh. Currently, no scm changes is returned to the master in a distributed build and I'll be working on that next. > This is a bit of a pain to set up and test for, so I'm hoping someone > will reassure me that it will all work fine. :) > > -- > Wendy > --000e0cd30470b39fed04611cd98c--