ghq_transfer (0.1.0) をリリースした

今週末の社内 LT に向けて作った。

github.com

元々は、手元にあったスクリプトを新卒氏が配属されるあたりのタイミングで雑にリポジトリに置いていたものです。

ghqgem-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 オプションを実行してください。

f:id:koic:20161002023013p:plain

--valth を実行するとその呪文のとおりガラッと変わりますので確認のうえ実行してください。大事なことなので2度言いました。