module GitCli::Log

Constants

SIMPLE_LOG_DEFAULT_CONF

Public Instance Methods

logs(opts = { }) click to toggle source
# File lib/git_cli/log.rb, line 31
def logs(opts = { })

  check_vcs

  vopts = SIMPLE_LOG_DEFAULT_CONF.merge(opts)

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "log"

  if not (vopts[:args].nil? or vopts[:args].empty?)
    cmd << vopts[:args]
  else
    cmd << "-n #{vopts[:limit]}" if not_empty?(vopts[:limit])
    cmd << "--since=#{vopts[:since]}" if not_empty?(vopts[:since])
    cmd << "--until=#{vopts[:until]}" if not_empty?(vopts[:until])
    cmd << "--committer=#{vopts[:committed_by]}" if not_empty?(vopts[:committed_by])
    cmd << vopts[:format] if not_empty?(vopts[:format])
  end

  cmdln = cmd.join(" ")
  log_debug "Logs : #{cmdln} "

  res = os_exec(cmdln) do |st, res|
    
    if st.success?
      [true, res.strip!]
    else
      [false, res]
    end
  end
   
end
show_log(cid) click to toggle source
# File lib/git_cli/log.rb, line 68
def show_log(cid)
  
  check_vcs

  raise_if_empty(cid, "Commit ID must be present for detail log discovery", GitCliException)
  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "show"
  cmd << cid

  cmdln = cmd.join(" ")
  log_debug "Show : #{cmdln}"

  res = os_exec(cmdln) do |st, res|
    
    if st.success?
      [true, res.strip!]
    else
      [false, res]
    end
  end

end