ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: Relationship between branches, revisions; integration, and release.
Date Thu, 07 Jun 2007 11:17:29 GMT
On 6/7/07, Buck, Robert <rbuck@verisign.com> wrote:
>
> Hi Xavier,
>
> It might be that you simply missed it in all that xml code. But on the
> integration side I thought the branch was handled:
>
> <artifact
> pattern="http://localhost:20080/ivyrep/integration/[organisation]/[modul
> e]/[branch]/[type]s/[artifact]-[revision].[ext]"/>
>
> Or am I missing something?


I saw the branch on the integration side. What I was talking about is the
release side. If you configure Ivy like you suggest, when you ask for a
latest version, Ivy will try to find it both in your release repo and
integration one. So Ivy may take a version in the release repo believing
it's more recent than the other one in the integration repo, even if you
asked for a particular branch, because your release repo do not have a
branch token in the pattern. This may or may not be an issue depending on
your release and dependencies policy.

Xavier

Bob
>
> > -----Original Message-----
> > From: Xavier Hanin [mailto:xavier.hanin@gmail.com]
> > Sent: Thursday, June 07, 2007 3:22 AM
> > To: ivy-user@incubator.apache.org
> > Subject: Re: Relationship between branches, revisions;
> > integration, and release.
> >
> > On 6/6/07, Buck, Robert <rbuck@verisign.com> wrote:
> > >
> > > In an earlier thread on "best repository layout" a
> > suggestion was made
> > > by Xavier where I should consider how to handle branches,
> > and also how
> > > to handle integation and releases.
> > >
> > > From what I can determine this comes down to two settings:
> > >
> > > A. the status fields in the ivys files in the repository B. the
> > > [branch] vs [release] attributes in the patterns
> > >
> > > Would then it make sense to do something like the following?
> > > (wondering if I pulled the concepts together correctly).
> > >
> > > <?xml version="1.0"?>
> > > <ivyconf>
> > >   <resolvers>
> > >     <url name="public-resolver">
> > >       <ivy
> > >
> > pattern="http://localhost:20080/ivyrep/release/[organisation]/[module]
> > > /[
> > > revision]/ivys/ivy-[revision].xml"/>
> > >       <artifact
> > >
> > pattern="http://localhost:20080/ivyrep/release/[organisation]/[module]
> > > /[
> > > revision]/[type]s/[artifact].[ext]"/>
> > >       <artifact
> > >
> > pattern="http://localhost:20080/ivyrep/release/[organisation]/[module]
> > > /[ revision]/[type]s/[artifact]-[revision].[ext]"/>
> > >       <artifact
> > >
> > pattern="http://localhost:20080/ivyrep/integration/[organisation]/[mod
> > > ul e]/[branch]/[type]s/[artifact].[ext]"/>
> > >       <artifact
> > >
> > pattern="http://localhost:20080/ivyrep/integration/[organisation]/[mod
> > > ul e]/[branch]/[type]s/[artifact]-[revision].[ext]"/>
> > >     </url>
> > >   </resolvers>
> > > </ivyconf>
> > >
> > > Here, nothing is released unless it has a number, otherwise it is
> > > always on a branch, even if the branch were "mainline". And, we
> > > partition the ivyrep between release and integration, which
> > may make
> > > it easier to manage.
> > >
> > > Thoughts?
> >
> >
> > This sounds like a good layout according to your development
> > rules. If you never release things on a branch it's fine.
> > There is one thing you should take into account though: the
> > way you declare your dependencies and how they evolve over
> > time. When you depend on a branch in integration, you will
> > have something like this:
> > <dependency org="acme" name="foo" branch="bar"
> > rev="latest.integration"/>
> >
> > The problem you might have is that if you have release which
> > is yougest than the integration version on branch 'bar', Ivy
> > will pick it up, because you have no branch information in
> > your release repository. Thus having a [branch] token in your
> > release layout could make sense, even if the value is always
> > 'mainline' for instance. This would let Ivy know that release
> > can only be used when the branch is 'mainline'.
> >
> > Xavier
> >
> > Thanks in advance,
> > >
> > > Bob
> > >
> >
> >
> >
> > --
> > Xavier Hanin - Independent Java Consultant Manage your
> > dependencies with Ivy!
> > http://incubator.apache.org/ivy/
> >
>



-- 
Xavier Hanin - Independent Java Consultant
Manage your dependencies with Ivy!
http://incubator.apache.org/ivy/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message