~/checkout/みたいな場所にgitのリポジトリをcloneしまくってるのだけど,数十ギガバイトくらいあったので,新しいコンピュータに移すのをあきらめた.
cloneしたリポジトリのURLのリストを取っておいて,そのリポジトリが必要になったらリストから探して新しいコンピュータでcloneし直す,ということにした.
こういうRubyのスクリプトを書いておく.
Dir.pwd.tap{ |root| Dir.glob('*').each{ |path| File.join(root, path).tap{ |_| next unless File.directory? _ Dir.chdir _ } `git remote -v 2> /dev/null`.tap{ |_| puts _.split(/\s+/)[1] unless _.empty? } } }
~/checkout/みたいな場所で実行して結果をファイルに保存しておく.
% ruby ~/Dropbox/collect-git-url.rb | tee git-repository-list.txt ... git@github.com:hitode909/gigaschema.git git@github.com:hitode909/glitch-ime.git git@github.com:hitode909/google-chrome-kojiki.git ...
リポジトリのURLが並んだファイルができるので,これを取っておけば,必要になったときにcloneし直せる.