Sha256: 61e0cc1c401e1b1bd4f5452c668558b35aa12cb9a724a3c6ff70dd99ea084235

Contents?: true

Size: 1.39 KB

Versions: 10

Compression:

Stored size: 1.39 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 && wait_thread.value || $?)
    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

10 entries across 10 versions & 1 rubygems

Version Path
libdolt-0.33.6 lib/libdolt/git.rb
libdolt-0.33.5 lib/libdolt/git.rb
libdolt-0.33.4 lib/libdolt/git.rb
libdolt-0.33.3 lib/libdolt/git.rb
libdolt-0.33.2 lib/libdolt/git.rb
libdolt-0.33.1 lib/libdolt/git.rb
libdolt-0.33.0 lib/libdolt/git.rb
libdolt-0.32.0 lib/libdolt/git.rb
libdolt-0.31.0 lib/libdolt/git.rb
libdolt-0.30.0 lib/libdolt/git.rb