On Thursday 29 September 2016 09:27:30 Ian Boston wrote:
> Hi,
> I fully support moving to Git.
> 
> I think it would be a mistake to attempt to split the repository into 100s
> of separate Git repositories as it will make it near impossible for any
> outsider to work on the code base. I say that from a position of
> experiencing exactly the same style of re-organisation on a large code base
> with a similar number of modules. Finding the root cause of a problem takes
> an order of magnitude more time, and if a pull request has to be applied to
> several repositories at the same time, good luck. IIUC those that work on
> all of the code base on a daily basis, have no problem.
> 
> Quite apart from the infra issues.
> 
> Do it with 1 repo, under the ASF banner, not in a independent GitHub
> organisation.
> 
> It sounds like this was a long and complex offline discussion.

Quoting Stefan: "we discussed again the long-debate topic moving from svn to 
git."

> I do hope a
> decisions of this magnitude was not made, at that time, excluding those
> members of the community, committers, PMC and ASF Members who were not able
> to attend the adaptTo conference.

https://issues.apache.org/jira/browse/SLING-3987
https://cwiki.apache.org/confluence/display/SLING/Move+from+Subversion+to+Git

Regards,
O.
 
> Best Regards
> Ian
> 
> On 28 September 2016 at 23:34, Stefan Seifert <sseif...@pro-vision.de>
> 
> wrote:
> > discussed at the Sling Committer Round Table @ adaptTo() 2016
> > 
> > we discussed again the long-debate topic moving from svn to git. no
> > commiter hat and objection that moving to git creates a real problem. all
> > agreed it would be nice to move to git.
> > 
> > aspects that where discussed:
> > 
> > - every module should get it's own git project
> > 
> >   - including special cases where a module is only a integration test
> > 
> > project
> > 
> >   - this ensures thare is only one "releaseable" artefact per git
> > 
> > repository
> > 
> >   - and git branching/tagging works as expected
> >   - most sling modules are quite independent anyway
> > 
> > - we need a replacement for the reactor poms
> > 
> >   - to build groups of related projects, e.g. sling distribution, sling
> > 
> > models, testing mocks etc.
> > 
> >   - and to build all sling sources together
> >   - goal is to have an additional git project for each reactor
> > 
> > pom/suitable grouping of git projects
> > 
> >   - as multi repo tooling support e.g. google repo [1] or gitslave [2]
> > 
> > could be used
> > 
> >   - which solution is chosen is not important for the first step and the
> > 
> > initial migration - we can solve this late, it's mainly for convenience
> > 
> > - this apporach results in a HUGE number of git repos - perhaps 300-350
> > including reactor poms
> > 
> >   - because sling is so modular, and has so many bundles already
> > 
> > - in the apache github mirror there is only one organization "apache"
> > 
> >   - all 350 sling projects would be part of this main organization,
> > 
> > together with all other apache git projects that are already listed there
> > 
> >   - other projects like commons, cordova, couchdb are examples haven
> > 
> > already a lot of individual git repos
> > 
> >   - asf currently does not allow apache projects to create their own
> > 
> > github organizsation, mainly due to infra restrictions
> > 
> > - name pattern for the git repository should be something like
> > "sling-<artifactId>"
> > 
> >   - we drop the folder grouping from svn today in "extensions",
> > 
> > "servlets", "commons" etc. only the hierarchy of artifactId is relevant.
> > 
> >   - with the prefix "sling-" they
> >   - question: how are "contrib" and "samples" repos marked? by another
> > 
> > prefix like "sling-contrib-" and "sling-samples"?
> > 
> > - no "self-service" for creating git repos
> > 
> >   - a big problem ist hat asf infra currently does not provide a
> > 
> > "self-service" for creating new asf git projects
> > 
> >   - whenever a new sling module is created a ticket a INFRA is needed to
> > 
> > create it, process is blocked until the involved manual steps are
> > completed
> > 
> >   - perhaps we can talk to infra providing a better solution here,
> > 
> > pointing at the 350 git repos we already need only for the start
> > 
> >   - if this is not solved just creating a new project/module is more
> > 
> > complicated than required
> > 
> > - only one git repo for contrib and samples?
> > 
> >   - we briefly discussed to use only one big repo for contrib and samples
> > 
> > as a workaround fort the "no self-service" problem, it would then be easy
> > to create new modules at least there
> > 
> >   - but this is perhaps not a good solution, because it again creates all
> > 
> > problems that arise when multiple releasible artifacts are put together in
> > one git repo
> > 
> >   - and it would make it harder to move something from contrib to "full
> > 
> > supported"
> > 
> > - committer whiteboards
> > 
> >   - we also need a solution for the comitter whiteboards
> >   - they should be cleaned up before migration leaving only what is still
> > 
> > relevant
> > 
> > - migration process
> > 
> >   - the migration process has to be fully scripted, and tested several
> > 
> > time in a "lab environment"
> > 
> >   - we should avoid migration approached that need restructuring the svn
> > 
> > hierarchy before migration (e.g. "flat list of all modules"), because this
> > make impact the migration of svn history to the individual git repos
> > 
> >   - we may need to write our own migration script handling the specifics
> > 
> > of the current svn folder structure and creating the full list of
> > individual git repos locally from it (first migrate to a single git repo
> > and then splitting it up preserving history for each modules folder).
> > those
> > local created git repos can then be pushed to the individual asf git
> > repos.
> > 
> > - contact infra
> > 
> >   - before we take further steps we should ask infra for it's opinion
> >   - e.g. by creating a jira ticket and describing the planned steps, and
> > 
> > that this would result in a huge number of repos
> > 
> > stefan
> > 
> > [1] https://code.google.com/p/git-repo/
> > [2] http://gitslave.sourceforge.net/

Reply via email to