I sense a misunderstanding here: If you are trying to add code review as a pre-check-in step, you are treating your source repository as the authority for perfect, ideal code, but keep imperfect code out of it. This is detrimental to the overall usefulness of a source repository. Code should be in the repository as early as practically possible. Code in the repository is change-tracked, easily accessible, easier to review and easier to backup.
So, go the easy route: Store code in branches (maybe an extra unreviewed
folder alongside branches
and tags
) and review the branch before it gets merged into its target branch. The technical side gets easier, and you have no need for pre-commit hooks.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…