tl;dr internal useでforkするときは安全マージンを取ってforkせずにcloneして新しいリポジトリを作ろう
無事卒業できそうなので改めて注意喚起。
ライブラリを改造して使っていたけど、そのソースは秘匿にしたい。こういったケースはよくあるはず。
実際、レポートなり論文が公開されるまではPrivateにしておかないと正直困る。
でもforkしたリポジトリでPRを作成すると、当然ながらデフォルトでbase branchとして設定されるのはfork元。
それをよく確認せずにPRを作成するとどうなるか。GitHubの場合はfork元がpublicだろうが確認もなくPRが作成され、おまけに勝手にPrivate forkのvisibilityがPublicになる。
さらにPRを一度作成するとGitHub側に変更がキャッシュされるので、リポジトリを消してもPR側から変更が見えてしまう。
この仕様はいかがなものか。まあユーザの不注意が原因なのでどうしようもないけど、警告メッセージの一つや二つ出してくれてもいいのではないのか…という気持ちになってました。
その後「private informationを誤って投稿した場合にどうにかしてくれる」という情報をききつけたのでSupport Ticketを切ってみた。
すると秒で対応して当該PRを非公開にしてくれた。神すぎる。GitHubのサポートは本当に優秀なので、困ったら皆さんもサポートに相談してみましょう。
おしまい。