Module: Retest::VersionControl::Git

Defined in:
lib/retest/version_control/git.rb

Class Method Summary collapse

Class Method Details

.diff_files(branch) ⇒ Object



23
24
25
# File 'lib/retest/version_control/git.rb', line 23

def diff_files(branch)
  `git diff #{branch}...HEAD --name-only --diff-filter=ACMRT -z`.split("\x0")
end

.files(extensions: []) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/retest/version_control/git.rb', line 15

def files(extensions: [])
  result = (untracked_files + tracked_files).sort
  unless extensions.empty?
    result.select! { |file| /\.(?:#{extensions.join('|')})$/.match?(file) }
  end
  result
end

.installed?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/retest/version_control/git.rb', line 7

def installed?
  system "git -C . rev-parse 2>/dev/null"
end

.nameObject



11
12
13
# File 'lib/retest/version_control/git.rb', line 11

def name
  'git'
end

.tracked_filesObject



31
32
33
# File 'lib/retest/version_control/git.rb', line 31

def tracked_files
  `git ls-files -z`.split("\x0")
end

.untracked_filesObject



27
28
29
# File 'lib/retest/version_control/git.rb', line 27

def untracked_files
  `git ls-files --other --exclude-standard -z`.split("\x0")
end