ディレクトリ名の変更によりパス参照できなくなるから。
前回まで
http://ytyaru.hatenablog.com/entry/2018/02/25/000000
今回
2FA有効アカウントでやってみる。
バグ
リポジトリ名を変更後にもう一度編集しようとするとエラー
Response.end--------------------- Traceback (most recent call last): File "GitHubUploader.py", line 77, in <module> main.Run() File "GitHubUploader.py", line 72, in Run main.Run() File "/tmp/GitHub.Uploader.UnittestAfter.OperationCheck.Callable.201705052135/cui/uploader/Main.py", line 27, in Run File "/tmp/GitHub.Uploader.UnittestAfter.OperationCheck.Callable.201705052135/cui/uploader/Main.py", line 73, in __Commit File "/tmp/GitHub.Uploader.UnittestAfter.OperationCheck.Callable.201705052135/cui/uploader/Main.py", line 113, in __ConfirmEdit File "/tmp/GitHub.Uploader.UnittestAfter.OperationCheck.Callable.201705052135/cui/uploader/command/repository/Editor.py", line 20, in Edit File "/tmp/GitHub.Uploader.UnittestAfter.OperationCheck.Callable.201705052135/cui/uploader/command/repository/Editor.py", line 28, in __EditDb TypeError: 'NoneType' object is not subscriptable
原因
じつはリポジトリ名にあわせてディレクトリ名も変更する。そのせいでターミナルで実行した時点のディレクトリ名とは別のパスになってしまいファイル参照できなくなる。
解決案
ターミナル、bash、Python実行のセッションを改める。
ただ、これをプログラムに組み込むと自分自身を再帰的に実行することになる。できるかどうかも不明だし、できても終了するまですべてのメモリ解放がされなさそう。あまりよろしくない方法に思える。どうするのがいいのか…。
回避案
名前を変更した時はユーザが手動で上記を行うようにする。上記手順でエラーになることに変わりないが。
所感
回避案が妥当か。スッキリ解決できなかった。まあいいか。記録だけしてスルー。