Sha256: 3a7d6b433e75778828a7a6c95875a96f7a9fc7bbca9241ba601b0ed24080f1c3

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require 'git'
module Dotter
  require 'dotter/utilities'
  class GitRepo
    include Utilities
    def initialize(package, init = false, bare = false)
      @package = package
      @project_path = package_path(package)
      @metadata_path = repo_path(package)
      @metadata_indexes_path = index_path(package)
      unless init
        open
      else
        self.init(bare)
      end
    end

    def open
      @repo = Git.open(@project_path.to_s, repository: @metadata_path.to_s, index: @metadata_indexes_path.to_s)
      @log = @repo.log
    end

    def init(bare = false)
      unless bare
        @repo = Git.init(@project_path.to_s, repository: @metadata_path.to_s, index: @metadata_indexes_path.to_s)
      else
        @repo = Git.init(@project_path.to_s, repository: @metadata_path.to_s, index: @metadata_indexes_path.to_s, bare: true)
      end
    end
    attr_reader :repo
    attr_reader :project_path
    attr_reader :package
    attr_reader :metadata_path
    attr_reader :metadata_indexes_path
    attr_reader :log
    def add(file)
      @repo.add(file)
    end

    def reset
      @repo.reset
    end

    def commit_all(commit_message)
      @repo.commit_all(commit_message)
    end

    def commit(commit_message)
      @repo.commit(commit_message)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dotter_dotfiles-0.4.0 lib/dotter/gitrepo.rb
dotter_dotfiles-0.3.0 lib/dotter/gitrepo.rb