すべてが GitHub になる

科研費の申請が終わるまではリポジトリGitHub に移行しないつもりだったが、無事終わったので移行。自分の論文やソースコードリポジトリSubversion だったので、svn2git で変換して移行。記録によると2006年RCS/CVS から Subversion にしたようなので、普段使いのバージョン管理システムの変更は8年ぶりである。

深層学習の勉強といい、最近は周りの人から見て「今さらかよ」と思われる動きの鈍さであるが、歩みは遅くてもまだキャッチアップしようという気持ちと余裕があるのは、そんなに悪くないんじゃないかと思ったりする。そのうち技術的なことは(元々別に明るい方じゃないのに)全て学生に任せたり、あるいは最先端の研究を追いかけるのを完全に放棄せざるをえなかったり、昨今の大学教員の待遇を見るに、そういう時代が来ないとも言い切れないわけで……。

さて、Subversion リポジトリはスタンダードな使い方をしていたので一瞬で移行完了。問題は CVS のほうで、cvs2git で git にするところがよく分からず、トップディレクトリに CVSROOT ができてしまったり(CVS のトップではなくモジュールを指定してインポートすればよかった)、アカウントが変だったり(オプションの設定ファイルに対応を書けばよかった)、履歴が引き継がれなかったり(.gitignore や README は全く作成しない空のリポジトリを作らないとだめ)したので、何回かリポジトリを作っては消したりした。

修士のころの日記を読み返すと、周囲にバージョン管理システムの導入を何度も求めたりしていて、かなり面倒くさい感じの人ではなかったか、と思ったり……。バージョン管理がされていなかったり、タスクや TODO がチケットのようなもので管理されていないために、いろいろな問題が起きると当時は考えていて、確かにそれが当てはまる面も少なくないのだが、使える範囲から少しずつやらないと、一気に全部変えるのは心理的ハードルが高いんじゃないかなぁと今は思ったりする(プロジェクトの最初から導入するならまだしも、すでに動いているプロジェクトを変える場合)。

いまは原稿の管理に GitHub (のプライベートリポジトリ)を使ってやりとりするところもあるらしいし、2006年当時とかなり状況も変わっていて、カジュアルに GitHub のようなサイトを使う人が増えてきたのはよいことである。自分でバグ追跡システムをインストールしたりするのは大変で、去年は GitHub で開発することを考えず、自分研究室のサーバに Redmine をインストールして使ってもらったりしていたが、今や GitHub 一本でよいように思う(タスクの優先順位とか、そういうのは別に管理しないといけないけど、小さなプロジェクト・チームであれば問題ない)。

自分もまだ全部を移行できたわけではないが、一つずつ移行していきたい。