# File lib/grit/submodule.rb, line 52
    def self.config(repo, ref = "master")
      commit = repo.commit(ref)
      blob = commit.tree/'.gitmodules'
      return {} unless blob

      lines = blob.data.gsub(/\r\n?/, "\n" ).split("\n")

      config = {}
      current = nil

      lines.each do |line|
        if line =~ /^\[submodule "(.+)"\]$/
          current = $1
          config[current] = {}
          config[current]['id'] = (commit.tree/current).id
        elsif line =~ /^\t(\w+) = (.+)$/
          config[current][$1] = $2
          config[current]['id'] = (commit.tree/$2).id if $1 == 'path'
        else
          # ignore
        end
      end

      config
    end