On Apr 4, 2011, at 9:58 PM, Denis Gervalle wrote:
On Mon, Apr 4, 2011 at 18:21, Vincent Massol <[email protected]> wrote:
On Apr 4, 2011, at 6:16 PM, Denis Gervalle wrote:
On Mon, Apr 4, 2011 at 17:12, Sergiu Dumitriu <[email protected]> wrote:
On 04/04/2011 03:49 PM, Fabio Mancinelli wrote:
On Mon, Apr 4, 2011 at 3:04 PM, Vincent Massol<[email protected]> wrote:
Hi,
After brainstorming with Thomas, Sergiu and Fabio we came to the following idea:
Proposal =======
* Don't have top level extension git repositories and instead put all extensions/modules in the top level platform repository * This means releasing all modules/extensions under the *same* version (the platform version)
^^^^^^^^ This is the important part!
+1 for me
I just had a thought about the granularity... Having everything in a big repo will make people clone more than 200Mb of source code even to hack a little module (currently xwiki-trunks on github downloads 277Mb of code). But maybe this is not really an issue.
Most of it (140M) comes from xwiki-core, which is not a real module yet.
I am not sure it really worse to consume that bandwidth for such information. But how could we keep it online for reference in case we need to check it ?
I don't agree about removing any history.
It looks to me that using git means using a lot of disk space (since you get a local repo with full history), we need to live with that or not use git at all.
Well, let say that I both agree and disagree. For me, the main advantage of using Git is to have more contributors that participate, since the project is easy to fork... and merge ! Moreover, reducing the number of repos, simplify also contribution, and it goes the same direction. So, I really think we should weight the consequence of having a so heavy history, that could afraid contributors. I would really prefer to left over some very old history, if this helps receiving more contributions.
well we're just making this up so far since AFAIK no contributor has expressed any concern over this yet :) So let's wait for someone to raise an issue maybe? IMO contributors would definitely express issues over using Git since 99% of them are probably using svn and not git so this far down in the list of issues contributors would have IMO ;) Thanks -Vincent
Denis
Thanks -Vincent
Denis
And most of it comes from the very early history when we had all the libs in the svn.
So, we could decide to drop the history before the introduction of maven, or we could move the core in its own repository and push for a faster migration to components.
Or we can just learn to live with it, we have a long history and we're proud of it.
-Fabio
Pros ====
* Much simpler release process * Much simpler JIRA organization (1 project instead of 50 or so) * Much simpler for the user: simpler to log a new issue in jira + they'll know what version of a module they're using vs having to guess that XE 3.0 uses the Lucene plugin v 1.45) and for contributors
Directory org ==========
platform/ |_ modules/ |_ xwiki-platform-search/ |_ xwiki-platform-search-lucene/ |_ xwiki-platform-search-application/ |_ xwiki-platform-url/ |_ xwiki-platform-skin-colibri/ |_ xwiki-platform-wysiwyg/ |_ ... |_ tools/ |_ distribution/
Details:
* Modules contains a flat list of directories, each directory representing a "feature". Everything corresponding to a feature is under that feature's directory, independently of the underlying technologies used (be it plugins, components, xar, etc) * Maven modules previously located in platform/web are moved in platform/modules. Except platform/web/standard which goes in platform/distribution. wysiwyg modules go in xwiki-platform-wysiwyg/ (we need to decide if gwt-dom and gwt-user modules go in there too or if we want to have a xwiki-platform-gwt module - Marius?)
Migration details =============
* Change the current org in git * Move several jira projects to retired * Modify platform jira project to have one jira component per feature (ie per platform/modules module). Note that since the old xwiki-core contains lots of stuff I propose to have one jira components for each "feature" it contains. For example for anything related to the model it would go in the "model" jira component. For things going in the user management it would go in a "user and group" component, etc. I'll make a proposal for the full list of jira components later on if this vote is passed. * Future: decide if we keep extensions.xwiki.org and if so what we put in there (maybe just user extensions and move platform features in platform.xwiki.org).
Here's my +1 (meaning I'll help perform this move)
Thanks -Vincent