I want to have a blessed repository and several group or developer repositories.
Developers shall clone from the blessed repository work on that cloned repository and commit their changes. Whenever they feel like their work is completed, they shall push their changes to their public repository. Then the lead developer shall pull the changes from the public developer repository - do whatever he wants to do with it (sign off, modify, etc.) and then push it to the blessed repository.
In any environment where code reviews count code might get rejected. Assume developer A and B work on a feature at the same time. Both developers finish their work and push the patches to their public repository. The patches of developer A get accepted while the patches of developer B are rejected. Then the lead developer pushes the changes of developer A to the blessed repository. Developer B fixes the patches and rebases his work on top of the blessed repository (the accepted changes of developer A respectively). If developer B pushes his work now to his public repository he will receive an error that the repositories have incompatible histories.
The only way I could fix that was to delete the public repository and to recreate the repository. Is there a cleaner way to fix that?