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

Reply via email to