New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lets do it mono #248

Open
ElectricMaxxx opened this Issue Aug 13, 2017 · 4 comments

Comments

Projects
None yet
2 participants
@ElectricMaxxx
Member

ElectricMaxxx commented Aug 13, 2017

I didn't participate on the former discussion on that theme and i didn't read the old threads to feel free in mind. So i would propose to create a mono repositry for the CMF.

I wrote down my ideas and the current state of testing in: https://github.com/symfony-cmf/symfony-cmf/wiki/%5BPOC%5D-by-Max---Monolythic-Repository (feel free to correct grammar issues)

My main purpose is to work one on code base only. Especially when working accross repository boardesa it a really hard work to connect several dev branches. Especiall when having the number of maintainers in mind a mone repo will be an easier piece of code to watch.

The main issue against it is the technicial infra structure. Means: what to test and how long and how to sync to the specific read-only repositories. But as you can read in the wiki post, i am on a good way to propose a nice and complete solution. I still have one eye on splitt.sh but currently see no advantage agains writing smal own scripts. The Symfony Core got an extra tool called gh to do the special work related on merging a PR, but Fabian said it is not public.

If there are issue on the workflow, especially in my head feel free to correct and add. From my POV we do not need the complete sync from one of the many repos into mono repo. We should keep them read-only and push changes from mono repo only.

@dbu @dantleech @lsmith77 @wouterj can i have your input, please?

@ElectricMaxxx

This comment has been minimized.

Show comment
Hide comment
@ElectricMaxxx

ElectricMaxxx Aug 13, 2017

Member

I got a first POC repository online. Impressive is to see the contributers over all repositories now: https://github.com/mono-symfony-cmf/symfony-cmf/graphs/contributors

Member

ElectricMaxxx commented Aug 13, 2017

I got a first POC repository online. Impressive is to see the contributers over all repositories now: https://github.com/mono-symfony-cmf/symfony-cmf/graphs/contributors

@dantleech

This comment has been minimized.

Show comment
Hide comment
@dantleech

dantleech Aug 13, 2017

Member

I am not very active on this project any more, but I can see that having a monolithic repository could potentially (greatly) help with maintenance. The problem is that you lose some of the benefits of semantic versioning - f,e, if the routing component's version changes from 1.0 to 1.1 that implies a new feature, but in a monolithic repository it is likely that nothing changed, same for BC breaking major versions - they might not be BC breaks at all for some components.

Member

dantleech commented Aug 13, 2017

I am not very active on this project any more, but I can see that having a monolithic repository could potentially (greatly) help with maintenance. The problem is that you lose some of the benefits of semantic versioning - f,e, if the routing component's version changes from 1.0 to 1.1 that implies a new feature, but in a monolithic repository it is likely that nothing changed, same for BC breaking major versions - they might not be BC breaks at all for some components.

@ElectricMaxxx

This comment has been minimized.

Show comment
Hide comment
@ElectricMaxxx

ElectricMaxxx Aug 14, 2017

Member

@dantleech i do not ask you as a cmf contributer only. I also ask you cause you used to contribute to ,se so i try to get some insights.

Versioning

Yes that can be a thing. But mostly we try to release independent, but we do not. We wait until all components are ready. Or we say lets release CMF version 1.3, that contains menu-bundle 2.0, seo-bundle 1.2, ... In the current version i don't sync the tags at all. I simply pull each branch from the original repo into a branch on mono repository. It is based on that configuration. Having such a config (or .json for split.sh) we are able to split and push on repositories version independent and tag on the component (i.e. a bug fix). But i won't have a probleme to sync the versions at all. We currently do it, we did it except from some tags. Maybe we should have a look on the versioning of symfony.

Member

ElectricMaxxx commented Aug 14, 2017

@dantleech i do not ask you as a cmf contributer only. I also ask you cause you used to contribute to ,se so i try to get some insights.

Versioning

Yes that can be a thing. But mostly we try to release independent, but we do not. We wait until all components are ready. Or we say lets release CMF version 1.3, that contains menu-bundle 2.0, seo-bundle 1.2, ... In the current version i don't sync the tags at all. I simply pull each branch from the original repo into a branch on mono repository. It is based on that configuration. Having such a config (or .json for split.sh) we are able to split and push on repositories version independent and tag on the component (i.e. a bug fix). But i won't have a probleme to sync the versions at all. We currently do it, we did it except from some tags. Maybe we should have a look on the versioning of symfony.

@ElectricMaxxx

This comment has been minimized.

Show comment
Hide comment
@ElectricMaxxx

ElectricMaxxx Aug 15, 2017

Member

@fabpot i tried "fabpot"@ and "fabien"@ but i am unsure if guess the right one. So i try to get you here on github. This is the issue to discuss. In the first comment is a link to a wiki page, where a try to explain the purpose and the current state.

The main concern could be: "how to have the many repos as they are and work on the mono repo with low impact?"

Member

ElectricMaxxx commented Aug 15, 2017

@fabpot i tried "fabpot"@ and "fabien"@ but i am unsure if guess the right one. So i try to get you here on github. This is the issue to discuss. In the first comment is a link to a wiki page, where a try to explain the purpose and the current state.

The main concern could be: "how to have the many repos as they are and work on the mono repo with low impact?"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment