Ceki Gülcü wrote:
>
> Hello,
>
> I suppose this horse was thoroughly beaten to death but I still would like to hear
>about the pros and cons of including binary files in CVS.
I love this horse...
>
> The advantages are:
>
> - By including required jar files for an application, the installation becomes
>easier as the user does not need to fetch them herself.
>
Definitely. It also becomes predicatble, as you can't be sure what jar
the user will find or have.
> - Only versions of the binaries known to work with the application are under CVS.
>This also eases installation.
Yes.
> The disadvantages:
>
> - CVS does not handle binaries very well.
Maybe not, but I think the real issue isn't the storage technology, but
the idea of including them. For example, just including 'pointers' into
a central jakarta (or Jakarta Commons) managed repository of jars skirts
the technical debate about CVS and binaries and gets you what you want -
the question is how those 'pointers' would work.
> - Increased checkout overhead as the binary files need to be retrieved from the
>network through the CVS pserver.
Again, a separate repository would solve it, and an intelligent fetch
would also take care of it - for example, Ant would figure out if a jar
is needed, and go fetch and 'install' in the build for the user, to be
there forever after, until the 'pointer' for that resource is upgraded -
then Ant goes and fetches again.
> - The binary file under CVS control might interact with other binaries that the user
>has. For example, if the user has x.jar on her classpath and x.jar is also under CVS.
>
The classpath is evil - I think this can be managed through build
scripts or ant just controlling the classpath, right?
> Any other advantages disadvantages? How bad is the overhead of manipulating binary
>files with CVS? Thanks for your comments, Ceki
I am really interested in this subject - it something we have been
talking a bit (ok, a lot) about for a while on the commons list. It's
an interesting situation in commons, as it could be viewed as a
mini-jakarta : we have multiple components, all which need to build in
their own way, but will certainly share some commonality such as Ant and
JUnit, and possibly Velocity/Anakia for doc generation.
I think that it's an important thing for a newcomer to be able to just
grab a build or snapshot and be able to build the software, or at least
get something started via Ant - at least let the build tell you what you
need and where to get it. Ease of use is important here.
I recognize the concerns that Sam and others have about version binding,
but I think that we can solve that, and Gump certainly acts as an
independant watchdog.
geir
--
Geir Magnusson Jr. [EMAIL PROTECTED]
Developing for the web? See http://jakarta.apache.org/velocity/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]