module Fastlane
  class Git
    def self.root
      `git rev-parse --show-toplevel`.strip
    end

    def self.current_branch
      `git rev-parse --abbrev-ref HEAD`.strip
    end

    def self.default_remote
      "origin"
    end

    def self.default_branch(remote_name: default_remote)
      `git remote show #{remote_name} | sed -n '/HEAD branch/s/.*: //p'`.strip
    end

    def self.default_branch_ref(remote_name: default_remote)
      "#{remote_name}/#{default_branch(remote_name: remote_name)}"
    end

    def self.current_sha
      `git rev-parse HEAD`.strip
    end

    def self.previous_sha
      `git rev-parse HEAD^`.strip
    end

    def self.relative_commit_date(sha: "")
      `git log -1 --relative-date --format='%cd' #{sha}`.strip
    end

  end
end
