David Crossley wrote:
Ross Gardler wrote:
Forrests SVN checkout is too large. One way of making it smaller is by
moving the eclipse tools directory out of trunk (10Mb).
Since devs working on the eclipse tools do so independantly of Forrest
this makes sense. In fact, in the new instructions I am writing for
setting up the eclipse platform I am recomending that the tools be
checked out separatly anyway (it just makes sense for Eclipse to do this).
So, I would like to move the Eclipse tools from:
https://svn.apache.org/repos/asf/forrest/trunk/
to:
https://svn.apache.org/repos/asf/forrest/tools/eclipse/trunk
Any ojections?
Not from me. We have got to find ways to shed the weight.
Plugins is the next thing to investigate.
I am not sure if this is related ...
Does someone understand what Cocoon did with their
SVN using svn:externals? They separated the blocks
away from the core. Does that technique help us?
Yes, I've been exploring this. What happens is you can create a separate
repo for parts like the tools folder, the plugins, the whiteboard,
forrest core etc.
Devs can then checkout the parts they need, i.e. just the eclipse tools.
You can create new repos that contain pointers to these external repos
using svn:external. When you checkout such a repo it will automatically
ceckout the external ones.
In Cocoon they have created separated replos for all the blocks and put
svn:externals into core. This means that when you checkout core you bet
all the blocks as well, therefore it does not reduce the size of the
core checkout and so I'm not sure of the advantage.
I'm using svn:external to checkout the portal block from cocoon into my
local forrest directory (work has stalled on that - don't get excited)
Off the top of my head we could (in the long term) do something like the
following under https://svn.apache.org/repos/asf/forrest/:
core
/trunk
/branches
plugins
/org.apache.forrest.input.wiki
/trunk
/branches
/org.apache.forrest.output.pdf
/trunk
/branches
tools
/eclipse
/trunk
/branches
/forrestbot
/trunk
/branches
docs
/trunk
/branches
Notice how each section has its own trunk and branches (thinking back to
our discussion about using branches to manage development).
Then, to facilitate developers working on integration testing and the
like we could have:
https://svn.apache.org/repos/asf/forrest/
/trunk
/branches
This would use svn:export to recreate the same repo structure we have
now, but without the tools directory which is essentially sub projects
that happen to use Forrest. In other words, what you get out of SVN when
requesting https://svn.apache.org/repos/asf/forrest/trunk (i.e. the same
URL as today) is the complete checkout of Forrest.
I've not thought through the implications of this. I'm pretty sure that
moving tools out is a good idea (notice I suggest a tools subdirectory
when moving eclipse, that was for a reason ;-) feel free to rubbish the
idea though (or even agree with it ;-)
Ross