class Rubycritic::Git
def self.supported?
def self.supported? `git branch 2>&1` && $?.success? end
def self.to_s
def self.to_s "Git" end
def has_revision?
def has_revision? head_reference && $?.success? end
def head_reference
def head_reference `git rev-parse --verify HEAD`.chomp end
def stash_changes
def stash_changes stashes_count_before = stashes_count `git stash` stashes_count_after = stashes_count stashes_count_after > stashes_count_before end
def stashes_count
def stashes_count `git stash list`.split("\n").length end
def travel_to_head
def travel_to_head if uncommited_changes? stash_successful = stash_changes end yield ensure `git stash pop` if stash_successful end
def uncommited_changes?
def uncommited_changes? !`git status --porcelain`.empty? end