def submodule_paths(options = {})
      options = {
        :recursive => false
      }.merge(options)
      git_args = ['submodule', 'status']
      git_args << '--recursive' if options[:recursive]
      git_output(git_args).lines.map do |line|
        data = line.chomp
        if matched = SUBMODULE_STATUS_REGEX.match(data)
          matched[3]
        else
          raise GitError,
                "Unexpected output from submodule status: #{data.inspect}"
        end
      end
    end
def submodule_paths(options = {})
      options = {
        :recursive => false
      }.merge(options)
      git_args = ['submodule', 'status']
      git_args << '--recursive' if options[:recursive]
      git_output(git_args).lines.map do |line|
        data = line.chomp
        if matched = SUBMODULE_STATUS_REGEX.match(data)
          matched[3]
        else
          raise GitError,
                "Unexpected output from submodule status: #{data.inspect}"
        end
      end
    end
Queries the recursive list of submodule paths for the current workspace.

 @param [Hash] options for submodules
 @option options [TrueClass|FalseClass] :recursive as true to recursively get submodule paths

 @return [Array] list of submodule paths or empty