Method: GGSM::Submodule#get_submodule_commit

Defined in:
lib/ggsm/util/submodule.rb

#get_submodule_commitObject



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/ggsm/util/submodule.rb', line 83

def get_submodule_commit
  sub_tree = 'git ls-tree HEAD | grep "160000"'
  sub_commits = `#{sub_tree}`
  if sub_commits.strip == '' && (File.directory? 'submodules')
    Dir.chdir 'submodules'
    sub_commits = `#{sub_tree}`
    Dir.chdir '..'
  end
  pattern = /(?<=\s)[0-9a-zA-Z]{40}(?=\s)/
  sub_commits = sub_commits.split(/\n/)
  result = []
  sub_commits.each do |sub|
    match = pattern.match(sub.strip)
    result.push(match[0][0...7])
  end
  result
end