module GitCli::Delta

Public Instance Methods

conflicted_files() click to toggle source
# File lib/git_cli/delta.rb, line 82
def conflicted_files
  
  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "diff --name-only --diff-filter=U"

  cmdln = cmd.join(" ")
  log_debug "Conflicted files : #{cmdln}"
  dirs = []
  files = []
  res = os_exec(cmdln) do |st, res|

    if st.success?
      res.each_line do |l|
        l.chomp!
        if File.directory?(File.join(@wsPath,l))
          dirs << l 
        else
          files << l
        end
      end

      [true, dirs.sort, files.sort]
    else
      [false, [], []]
    end

  end
end
deleted_files() click to toggle source
# File lib/git_cli/delta.rb, line 152
def deleted_files
  
  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "ls-files -d"

  cmdln = cmd.join(" ")
  log_debug "Deleted files : #{cmdln}"
  dirs = []
  files = []
  res = os_exec(cmdln) do |st, res|

    if st.success?
      res.each_line do |l|
        l.chomp!
        if File.directory?(File.join(@wsPath,l))
          dirs << l 
        else
          files << l
        end
      end

      [true, dirs.sort, files.sort]
    else
      [false, [], []]
    end
  end
 
end
modified_files() click to toggle source
# File lib/git_cli/delta.rb, line 46
def modified_files
  
  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  # list only non staged modifications
  cmd << "diff --name-only --diff-filter=M"

  cmdln = cmd.join(" ")
  log_debug "Modified files : #{cmdln}"
  dirs = []
  files = []
  res = os_exec(cmdln) do |st, res|

    if st.success?
      res.each_line do |l|
        l.chomp!
        if File.directory?(File.join(@wsPath,l))
          dirs << l 
        else
          files << l
        end
      end

      [true, dirs.sort, files.sort]
    else
      [false, [], []]
    end

  end
end
new_files() click to toggle source
# File lib/git_cli/delta.rb, line 117
def new_files
  
  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "ls-files --others --exclude-standard --directory"

  cmdln = cmd.join(" ")
  log_debug "New Files : #{cmdln}"
  dirs = []
  files = []
  res = os_exec(cmdln) do |st, res|

    if st.success?
      res.each_line do |l|
        l.chomp!
        if File.directory?(File.join(@wsPath,l))
          dirs << l 
        else
          files << l
        end
      end

      [true, dirs.sort, files.sort]
    else
      [false, [], []]
    end
  end

end
reset_all_changes() click to toggle source
# File lib/git_cli/delta.rb, line 244
def reset_all_changes

  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "reset --hard"

  cmdln = cmd.join(" ")
  log_debug "Reset all local changes (permanent) : #{cmdln}"
  res = os_exec(cmdln) do |st, res|
    [st.success?, res]
  end
  
end
reset_file_changes(path) click to toggle source
# File lib/git_cli/delta.rb, line 222
def reset_file_changes(path)

  raise_if_empty(path, "Path cannot be empty for reset file changes operation", GitCliException)

  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "checkout --"
  cmd << path

  cmdln = cmd.join(" ")
  log_debug "Reset file changes local changes (given file permanent) : #{cmdln}"
  res = os_exec(cmdln) do |st, res|
    [st.success?, res]
  end
  
end
staged_files() click to toggle source
# File lib/git_cli/delta.rb, line 187
def staged_files
  
  check_vcs

  cmd = []
  cmd << "cd"
  cmd << @wsPath
  cmd << "&&"
  cmd << @vcs.exe_path
  cmd << "diff --name-only --cached"

  cmdln = cmd.join(" ")
  log_debug "New Files : #{cmdln}"
  dirs = []
  files = []
  res = os_exec(cmdln) do |st, res|

    if st.success?
      res.each_line do |l|
        l.chomp!
        if File.directory?(File.join(@wsPath,l))
          dirs << l 
        else
          files << l
        end
      end

      [true, dirs.sort, files.sort]
    else
      [false, [], []]
    end
  end

end
status() click to toggle source
# File lib/git_cli/delta.rb, line 22
def status
  
  check_vcs

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

  cmdln = cmd.join(" ")
  log_debug "Status : #{cmdln}"
  res = os_exec(cmdln) do |st, res|

    if st.success?
      [true, res]
    else
      [false, res]
    end
  end
  
end