I had experience where several developers used composer for own way. One make update earlier, another make update later. And all use different versions of framework and 3d-party libraries in vendor. It often happened when one had working project, but another got bugs.
I would like organize an environment so only one developer (let's name him maintainer) has duty and permission to fix composer.json and make ./composer.phar update. How can I do it better?
If I am a maintainer, what files should I place in .gitignore to be able to update code, but all others not? All others in this way must get retrieved code through repository.
We develop internally using git-flow, and only the dev-lead has write access on the master, release-candaiate and develop branches, so he can validate and review all hotfix and feature branches before merging.
No developer is allowed to introduce any third party dependencies without approval of the dev-lead.
And if they want to keep their job, they stick to the rules. I don't pay them to introduce bugs and make the project more expensive. ;-)
Hmm... My question was more technical. If we place fuel/core, fuel/packages, fuel/vendor to .gitignore all users will need to make update, because they will be empty.
It was so in that team. I tried to change this and removed this dirs from .gitignore, made ./composer.phar update, commited all changed files and pushed. My friend who works with me on this experimental project, pulled the code and tried to make oil r migrate, but it said: fuelphp was not installed and he need to run ./composer.phar update.
He made it. But it was nothing to install or update. At the same time fuel/core and fuel/vendor was empty. So It seemed git saw subprojects and not placed all that (updated by me) code into our repository and ignored it.
So I ask: How simultaneously make me able to do update (not delete all subreps and another auxiliary files) and in the same time place all the code from that subreps into main rep?
Huh, I see it is more problem of git usage than of fuelphp, but I think, maybe somebody use similar scheme and can show me parts of his .gitignore or other auxiliary files to configure it.
I think, all composer* files must be in .gitignore, but it not all. Must be something to constrain git put all code into one main rep. I think, it must be some subdir .git directories or maybe something else.