Sha256: b4a8a09dd5726058abb23b7bf7d269eee93fe8b7d3c1e89209dd72258293d2a2

Contents?: true

Size: 1.37 KB

Versions: 11

Compression:

Stored size: 1.37 KB

Contents

# encoding: utf-8
#--
#   Copyright (C) 2013 Gitorious AS
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU Affero General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU Affero General Public License for more details.
#
#   You should have received a copy of the GNU Affero General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
#++
require "open3"
require "libdolt/git/process"
require "shellwords"

module Dolt
  module Git
    def self.shell(command)
      stdin, stdout, stderr, wait_thread = Open3.popen3(command)
      Dolt::Git::Process.new(stdin, stdout, stderr, wait_thread)
    end

    def self.git(git_dir, command)
      args = Shellwords.join(command.split(" "))
      shell("#{binary} --git-dir #{git_dir} #{args}")
    end

    def self.binary
      @binary ||= "git"
    end

    def self.binary=(path)
      @binary = path
    end

    def self.git_repo?(path)
      return true if path.split(".").last == "git"
      File.exists?(File.join(path, ".git"))
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
libdolt-0.33.17 lib/libdolt/git.rb
libdolt-0.33.16 lib/libdolt/git.rb
libdolt-0.33.15 lib/libdolt/git.rb
libdolt-0.33.14 lib/libdolt/git.rb
libdolt-0.33.13 lib/libdolt/git.rb
libdolt-0.33.12 lib/libdolt/git.rb
libdolt-0.33.11 lib/libdolt/git.rb
libdolt-0.33.10 lib/libdolt/git.rb
libdolt-0.33.9 lib/libdolt/git.rb
libdolt-0.33.8 lib/libdolt/git.rb
libdolt-0.33.7 lib/libdolt/git.rb