Skip to content
This repository has been archived by the owner on Sep 16, 2021. It is now read-only.

Lets do it mono #248

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

Lets do it mono #248

ElectricMaxxx opened this issue Aug 13, 2017 · 4 comments

Comments

@ElectricMaxxx
Copy link
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
Copy link
Member Author

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
Copy link
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
Copy link
Member Author

@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
Copy link
Member Author

@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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants