Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 75208 invoked from network); 1 Apr 2008 22:41:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Apr 2008 22:41:34 -0000 Received: (qmail 114 invoked by uid 500); 1 Apr 2008 22:41:34 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 104 invoked by uid 500); 1 Apr 2008 22:41:34 -0000 Mailing-List: contact dev-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list dev@stdcxx.apache.org Received: (qmail 99994 invoked by uid 99); 1 Apr 2008 22:41:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Apr 2008 15:41:34 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of msebor@gmail.com designates 209.85.198.184 as permitted sender) Received: from [209.85.198.184] (HELO rv-out-0910.google.com) (209.85.198.184) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Apr 2008 22:40:52 +0000 Received: by rv-out-0910.google.com with SMTP id k15so1636735rvb.23 for ; Tue, 01 Apr 2008 15:41:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:organization:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding:sender; bh=M9w8vfQu7BBTMmE4uYCTjAyqVRiMBRLebCcc9DCqPwA=; b=KXDcR1/7NcZOX10G2tW9TUxGu4stdlN/tW45dHnY1V6T2xaumNYha1o+pLLnUKxMVYq0PGPWdyGuCfHZqz7tegzniuuhsq6SsucdD/26F8VdNgdk/1N2IRHDqQZEqea1kRasf/cLGyx+NrUHG1H862bfOhtOHEqYHs2Zj52UjpE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:organization:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding:sender; b=tyrNHLDSMcYgPml3g3G5kKhie6lIEcgz4z5YymviLLwNUHE8XzNPsfCBbfuCiQ+4Lnxdl7ImvF3jd45N22OlCAnob0m/h6PDNP0gc0yPmitK8XyhRBsvB79hvis4uHJEmxuePDCSHQ5FE8CUl7kQTfsXiQgLXELRui4Ss5dwLW8= Received: by 10.140.192.9 with SMTP id p9mr4775519rvf.114.1207089664128; Tue, 01 Apr 2008 15:41:04 -0700 (PDT) Received: from localhost.localdomain ( [71.229.200.170]) by mx.google.com with ESMTPS id b5sm1221143rva.20.2008.04.01.15.41.02 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 01 Apr 2008 15:41:03 -0700 (PDT) Message-ID: <47F2B9FD.50202@roguewave.com> Date: Tue, 01 Apr 2008 16:41:01 -0600 From: Martin Sebor Organization: Rogue Wave Software, Inc. User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: dev@stdcxx.apache.org Subject: on branches and merging (was: Re: failing regression tests) References: <47ED5834.4030803@roguewave.com> <7BDB2168BEAEF14C98F1901FD2DE643801EA9050@epmsa009.minsk.epam.com> <47F29D22.5060801@roguewave.com> <47F2AB7A.2070205@roguewave.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: Martin Sebor X-Virus-Checked: Checked by ClamAV on apache.org Travis Vitek wrote: > > >> Martin Sebor wrote: >> >> Travis Vitek wrote: >>> >>> >>> >>> I'm thinking that all work for 4.2.1 should be done on the >>> 4.2.x branch, and future work should be done on trunk until >>> an appropriate branch has been created. That way we avoid >>> having to be careful about bulk merges from trunk to 4.2.1... >>> Everything that is on 4.2.x should be safe for trunk. >>> >>> Unfortunately, I think that would mean that we would need to >>> do nightly testing on the 4.2.x branch, possibly in addition >>> to trunk. >> Right, that's a big problem. Another problem with this approach >> is that it has the potential to destabilize the branch. > > I don't mind it being unstable, Stability is increasingly important as we approach a release. Every major breakage (like the one we just had on trunk) sets us back by days if not a week, sometimes up to 10 days when the build servers are busy. > provided that we are actually testing > that branch. I don't think we are testing 4.2.x, so we don't even know > if it is stable or not. When we get close to release time, we should > probably be testing 4.2.x almost exclusively. Scott tells me we have been testing 4.2.x in nightly builds for some time. I just haven't gotten around to publishing the results yet. I need to do it soon. I think I'll need Andrew's help to set up the script(s). > >> The second problem can be mitigated by tagging the branch when >> it's known to be stable. I don't think there's anything we can >> do about the first problem except alleviate it by implementing >> a more intelligent test harness. I'm not sure we have cycles >> for that... > > Are you saying that the test infrastrucure doesn't allow us to test > 4.2.x at all? I can see how that would be a serious problem. How are we > expected to verify that the code that is on 4.2.x is good? What I'm saying is that it might be a hard sell to get Rogue Wave to run two (or more) sets of nightly builds for stdcxx, one for trunk and one for each branch, unless it's much more lightweight than it is now. > >> Is there some convention or process we could put in place that >> would make the bulk merge issue less painful? I wake up in the >> middle of the night thinking about how we're going to manage >> it for 4.2.1. Maybe it won't be so bad, but it does seem like >> it will be a lot work and could be pretty error prone. > > Well, for a while there Farid was working directly on 4.2.x and merging > back to trunk. That solution would work. Another obvious option would be > to require users to merge their own changes out. We were doing this for > a hile, but I've noticed that this hasn't been happening lately. It hasn't because we haven't been testing the branch (or publishing the results). We could switch nightly builds to 4.2.x but then we'll have the same problem on trunk and/or on any other branch (such as 4.3 or 5.0, once they've been created). We already have a number of patches and tests that we've been waiting to commit because they're not appropriate for 4.2.x and we've been treating trunk as a copy of 4.2.x. I think that's a mistake. We should commit these patches otherwise they are at risk of becoming out of sync with the files they patch. Then it'll be a chore to apply them all. I guess my point is that it doesn't matter if it's a branch or trunk that gets tested, or where some/many of us do their work, there's nothing we can do to get away from merging the changes at some point. So it seems that we need to come up with a solution to the merging problem, independently of what we do about testing. Martin