Sha256: 841352d4918e5f2280f49e668e8044b3a29f8731dda418da0bda57e5a54925c5
Contents?: true
Size: 1.1 KB
Versions: 19
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require "open3" require "rfix" require "rfix/log" require "rfix/cmd" require "shellwords" module Rfix::GitHelper include Rfix::Log include Rfix::Cmd def git(*params, root: Dir.pwd, quiet: false, &block) args = split_args(params) args.unshift *["--git-dir", File.join(root, ".git")] args.unshift *["--work-tree", root] cmd("git", *args, quiet: quiet, &block) end def split_args(params) return if params.empty? return split(params.first) if params.count == 1 return params end def split(str) Shellwords.split(str) end def has_branch?(branch) cmd_succeeded?("git", "cat-file", "-t", branch) end def dirty?(path) Dir.chdir(path) do !cmd_succeeded?("git diff --quiet") end end def params [ "--word-diff-regex=[^[:space:]]", "--no-renames", "--no-merges", "--first-parent", "--find-renames", "--find-copies", "--diff-filter=AMCR", "-U0", "--no-color", "-p" ] end end # TODO: Rename above to just ::Git module Rfix::Git extend Rfix::GitHelper end
Version data entries
19 entries across 19 versions & 1 rubygems