Правильно: скрепя сердце – против воли, против своих убеждений, мужественно. Скрепя - то же, что скрепив. Оборот, вероятно, связан с движением хватания себя за сердце при сильном седцебиении от волнения, то есть буквально: "скрепить сердце чем-нибудь" . Скрепить в этом выражении имеет внутреннюю форму "сделать крепким".
Возможно, легитимный? Легитимный - находящийся в соответствии с действующим в государстве законом; законный.
Верно: репЕрный. Но и рЕперный допустимо.