hitode909の日記

趣味はマリンスポーツですの日記です

cloneしたgitのリポジトリのURLのリストを作る

~/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し直せる.