Return-Path: Delivered-To: apmail-felix-dev-archive@www.apache.org Received: (qmail 23244 invoked from network); 17 Dec 2009 14:43:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Dec 2009 14:43:07 -0000 Received: (qmail 41749 invoked by uid 500); 17 Dec 2009 14:43:07 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 41675 invoked by uid 500); 17 Dec 2009 14:43:07 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 41665 invoked by uid 99); 17 Dec 2009 14:43:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Dec 2009 14:43:06 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of heavy@ungoverned.org designates 67.222.38.31 as permitted sender) Received: from [67.222.38.31] (HELO outbound-mail-141.bluehost.com) (67.222.38.31) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 17 Dec 2009 14:42:56 +0000 Received: (qmail 24494 invoked by uid 0); 17 Dec 2009 14:42:33 -0000 Received: from unknown (HELO host118.hostmonster.com) (74.220.207.118) by outboundproxy5.bluehost.com with SMTP; 17 Dec 2009 14:42:33 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=ungoverned.org; h=Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:X-Identified-User; b=szHr5+rS04OOdt6MI+r1eNuPXjJKpwgDh34U5aPnsDnCC7dLqhc/ZpOGWnwhuxIL5yBZNUr/J9zcsOlOL/Hx8Mfyd9oWx0lMmn11veTsKvUDNzhi/vZiHHhw5AZhe9wR; Received: from adsl-99-62-222-230.dsl.sgnwmi.sbcglobal.net ([99.62.222.230] helo=heavyweight.glastender.com) by host118.hostmonster.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1NLHYm-0001jU-Ro for dev@felix.apache.org; Thu, 17 Dec 2009 07:42:33 -0700 Message-ID: <4B2A4357.5090202@ungoverned.org> Date: Thu, 17 Dec 2009 09:42:31 -0500 From: "Richard S. Hall" User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0 MIME-Version: 1.0 To: dev@felix.apache.org Subject: Re: Less restrictive conflict resolution for fragment imports References: <4B2916C1.9030809@ungoverned.org> <81f0d9c0912160937x1b040c8ej98ce3d6eb55adae4@mail.gmail.com> <81f0d9c0912170527q4fc2a250lc2478c1b56376a7f@mail.gmail.com> In-Reply-To: <81f0d9c0912170527q4fc2a250lc2478c1b56376a7f@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Identified-User: {1027:host118.hostmonster.com:ungovern:ungoverned.org} {sentby:smtp auth 99.62.222.230 authed with heavy@ungoverned.org} X-Virus-Checked: Checked by ClamAV on apache.org On 12/17/09 8:27, Stuart McCulloch wrote: > 2009/12/17 Guo Du > > >> On Wed, Dec 16, 2009 at 5:37 PM, Stuart McCulloch >> wrote: >> >>> So +1 to trying the intersection approach. >>> >> Intersection ONLY is not safe for the case: >> >>> Host version [2.0.0,3.0.0) >>> [2.5.0,2.9.0) >>> Fails, when host is importing 2.1.0 this would cause fragment to fail. >>> >> > depends when the intersection was made - if it was done before the host > resolved > then the host's import range would shrink to the intersection: [2.5.0,2.9.0) > and the > host plus fragment would not be in conflict. > > now if you're attaching the fragment to an already resolved host then I > believe the > resolver would look at the existing wires, not the original range - so if > the host was > already wired to 2.1.0 then the fragment wouldn't be able to attach > dynamically > > but then this is still correct (afaik) in that you can't dynamically attach > a fragment > that conflicts with the resolved host (btw, do we support dynamic > attachment?) > No, we don't. >> We may have following condition to enable fragment: >> 1. exact version match or >> 2. host version range inside all fragments version or >> 3. all fragments and host share intersection + dynamic verify the >> actual imported version is inside intersection >> (p.s. I am not sure "dynamic verify the actual imported version is >> inside intersection" is viable or not. If not, we could do at least >> step 2 which will help both Andreas's and FELIX-1919 case ) >> >> > these still fall under 'intersection' imho (ie. the intersection should > apply to the > host and fragment) but let's see what Richard's algorithm actually looks > like :) > The intersection approach will create a new version range each time a fragment is added and the next fragment will be compared against that range in bundle ID order. I don't think this will allow for any valid cases since we are always making the allowed version range more narror. -> richard > > >> -Guo >> >> >