今週末の社内 LT に向けて作った。
元々は、手元にあったスクリプトを新卒氏が配属されるあたりのタイミングで雑にリポジトリに置いていたものです。
ghq と gem-src についてここ数ヶ月で何人かに話していたところ、ghq (というか Go 言語) のディレクトリレイアウトへの移行を、もう少し手軽にすすめることができればと思って Gem 化してます。インストールは gem install ghq_transfer
なんかでできます。
自分自身が ghq を使うまでは ~/work/git
というディレクトリに git clone
で取得したリポジトリをフラットに配置していたという経緯があり、そういったケースに対しては ghq_transfer では以下のような手順で ghq のディレクトリレイアウトに移行できます。
% mv ~/work/git `ghq root` % ghq_transfer --dry-run % ghq_transfer --valth
ghq のレイアウト構成への移行は git config --get remote.origin.url
に依存しています。なので非 git 管理のリポジトリ (svn とか) は未対応だったり、その他だと URL が :host/:user/:repo の形式とは限らない Gitlite なんかを使った社内 Git サーバーの構成なんかにも同じく未対応で、そういったリポジトリはスキップします。
一方で、自分が欲しかったことからいちおう GitHub Enterprise には対応しているつもりです。
README.md に書いているのですが、--dry-run
オプションで確認のうえ --valth
オプションを実行してください。
--valth
を実行するとその呪文のとおりガラッと変わりますので確認のうえ実行してください。大事なことなので2度言いました。