You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Dennis Byrne <de...@dbyrne.net> on 2006/08/10 20:55:57 UTC

past problems w/ externals ?

Did MyFaces have a few problems w/ externals in the past?  If so, can someone shoot me a link or a short description on why?

Dennis Byrne



Re: past problems w/ externals ?

Posted by Sean Schofield <se...@gmail.com>.
The problem with externals is when you start moving and renaming stuff
in subversion.  When we did a massive reorg everything started to
break.  The svn externals point to the same location even after you do
an svn move.  That makes sense since they're not smart enough to know
how to change themselves.

So it becomes a maintenance nightmare as the number of tagged versions
and branches starts to grow.  Also, it can introduce even  subtler
problems if the external still results in code that compiles but its
not the expected code.

We only have one external now which is current.  Current is just for
convenience sake and if it breaks, it doesn't prevent you from
building the intended code.

Sean

On 8/10/06, Mike Kienenberger <mk...@gmail.com> wrote:
> While there was a lot of talk about disliking externals, here is the
> only thing I found that gave any reasons:
>
>
>
> ---------- Forwarded message ----------
> From: Sean Schofield <se...@gmail.com>
> Date: Jan 1, 2006 10:35 PM
> Subject: Re: Maven Build (Ongoing Work Thread)
> To: MyFaces Development <de...@myfaces.apache.org>
>
> [...]
>
> I wonder if there is an easy way to share website resources in maven?
> I don't think we should have 10 copies of the stylesheets, etc. per
> project.  We can use externals but I hesitate to do that b/c they are
> a PITA when you are branching and tagging (the externals don't change
> automatically - you have to change them all manually.)
>
> Sean
>

Re: past problems w/ externals ?

Posted by Mike Kienenberger <mk...@gmail.com>.
While there was a lot of talk about disliking externals, here is the
only thing I found that gave any reasons:



---------- Forwarded message ----------
From: Sean Schofield <se...@gmail.com>
Date: Jan 1, 2006 10:35 PM
Subject: Re: Maven Build (Ongoing Work Thread)
To: MyFaces Development <de...@myfaces.apache.org>

[...]

I wonder if there is an easy way to share website resources in maven?
I don't think we should have 10 copies of the stylesheets, etc. per
project.  We can use externals but I hesitate to do that b/c they are
a PITA when you are branching and tagging (the externals don't change
automatically - you have to change them all manually.)

Sean

Re: past problems w/ externals ?

Posted by Mike Kienenberger <mk...@gmail.com>.
On 8/10/06, Dennis Byrne <de...@dbyrne.net> wrote:
> Did MyFaces have a few problems w/ externals in the past?  If so, can someone shoot me a link or a short description on why?

I think so, but I don't remember the reasons.   Sean is probably the
person to talk to on this.

Here's what I found in a quick search of my mailbox:



---------- Forwarded message ----------
From: Sean Schofield <se...@gmail.com>
Date: Jan 7, 2006 3:28 PM
Subject: [IMPORTANT] No More Externals in the TLD's
To: MyFaces Development <de...@myfaces.apache.org>


>From earlier discussions we are all pretty much in agreement that we
should eliminate externals whenever possible.  The single exception is
the very helpful "current" external.  That just points to the trunk of
the relevant projects and its not affected by branches/tags or reorgs.

We have removed the externals from the build dir (thanks to Maven) and
now I have removed them in the TLD case.  Here's what we had before:

sandbox/src/main/tld/entities-share --> impl/src/main/tld/entitites
sandbox/src/main/tld/misc --> impl/src/main/tld/misc
tomahawk/src/main/tld/entities-share --> impl/src/main/tld/entitites
tomahawk/src/main/tld/misc --> impl/src/main/tld/misc

I have replaced the externals with straight svn copies (including
history.)  Now that api/impl and tomahawk can be on separate release
paths, this really makes it necessary to drop the externals.

The added bonus of this is that you cannot accidentally screw up an
implementation tag by adding something to a shared entitity.  In
reality we don't change the impl entities anymore anyways.  That
leaves tomahawk and sandbox.  So when promoting from sandbox we move
the entities (manually) at the same time as we svn move the new
component from sandbox.

These are easily restored if we don't like the way its working.  I
think the externals (other then current) are causing way more problems
then this solution will ultimately cause us.

Thoughts?

Sean