質問の「迂回」部分については、新しいマスターの最初のコミットとして、いつでも次のようなことを行うことができます。
#ifndef IMPLEMENTED_STRUCTURED
#error "The master branch of project x has been completely rewritten and will break legacy applications. If you are unable to update your application, switch to the legacy branch of this project and your code should continue working as before. If you want to use the new structured code, simply add a preprocessor definition for IMPLEMENTED_STRUCTURED to get rid of this error message."
#endif
これにより、メッセージを読んで実行するアクションのコースを決定するまで、誰のコードも正常にコンパイルされなくなります。
うまくいけば、C / C ++を使用していない場合、言語に同様の動作を可能にする機能があります。