Sha256: c9765fafb2a0a67b8ca8adfbe0abb3ff4f6a345da6c8e4350eaf176623cf091e
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true require_relative "os" module Capybara module Screenshot module Diff module Vcs SILENCE_ERRORS = Os::ON_WINDOWS ? "2>nul" : "2>/dev/null" def restore_git_revision(name, target_file_name) redirect_target = "#{target_file_name} #{SILENCE_ERRORS}" show_command = "git show HEAD~0:./#{Capybara::Screenshot.screenshot_area}/#{name}.png" if Capybara::Screenshot.use_lfs `#{show_command} | git lfs smudge > #{redirect_target}` else `#{show_command} > #{redirect_target}` end FileUtils.rm_f(target_file_name) unless $CHILD_STATUS == 0 end def checkout_vcs(name, old_file_name, new_file_name) svn_file_name = "#{Capybara::Screenshot.screenshot_area_abs}/.svn/text-base/#{name}.png.svn-base" if File.exist?(svn_file_name) committed_file_name = svn_file_name FileUtils.cp committed_file_name, old_file_name else svn_info = `svn info #{new_file_name} #{SILENCE_ERRORS}` if svn_info.present? wc_root = svn_info.slice(/(?<=Working Copy Root Path: ).*$/) checksum = svn_info.slice(/(?<=Checksum: ).*$/) if checksum committed_file_name = "#{wc_root}/.svn/pristine/#{checksum[0..1]}/#{checksum}.svn-base" FileUtils.cp committed_file_name, old_file_name end else restore_git_revision(name, old_file_name) end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
capybara-screenshot-diff-1.7.1 | lib/capybara/screenshot/diff/vcs.rb |
capybara-screenshot-diff-1.7.0 | lib/capybara/screenshot/diff/vcs.rb |