Sha256: 9a4db4e418f1c0f8e3cc030d645e0bb9842f9685ff57452a981dff9f2ac24468

Contents?: true

Size: 892 Bytes

Versions: 23

Compression:

Stored size: 892 Bytes

Contents

module Gitlab
  module Git
    class Compare
      attr_reader :commits, :same, :head, :base

      def initialize(repository, base, head)
        @commits = []
        @same = false
        @repository = repository

        return unless base && head

        @base = Gitlab::Git::Commit.find(repository, base.try(:strip))
        @head = Gitlab::Git::Commit.find(repository, head.try(:strip))

        return unless @base && @head

        if @base.id == @head.id
          @same = true
          return
        end

        @commits = Gitlab::Git::Commit.between(repository, @base.id, @head.id)
      end

      def diffs(options = {})
        unless @head && @base
          return Gitlab::Git::DiffCollection.new([])
        end

        paths = options.delete(:paths) || []
        Gitlab::Git::Diff.between(@repository, @head.id, @base.id, options, *paths)
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
gitlab_git-10.4.3 lib/gitlab_git/compare.rb
gitlab_git-10.4.2 lib/gitlab_git/compare.rb
gitlab_git-10.4.1 lib/gitlab_git/compare.rb
gitlab_git-10.4.0 lib/gitlab_git/compare.rb
gitlab_git-10.3.2 lib/gitlab_git/compare.rb
gitlab_git-10.3.1 lib/gitlab_git/compare.rb
gitlab_git-10.3.0 lib/gitlab_git/compare.rb
gitlab_git-10.2.3 lib/gitlab_git/compare.rb
gitlab_git-10.2.2 lib/gitlab_git/compare.rb
gitlab_git-10.2.1 lib/gitlab_git/compare.rb
gitlab_git-10.2.0 lib/gitlab_git/compare.rb
gitlab_git-10.1.4 lib/gitlab_git/compare.rb
gitlab_git-10.1.3 lib/gitlab_git/compare.rb
gitlab_git-10.1.2 lib/gitlab_git/compare.rb
gitlab_git-10.1.1 lib/gitlab_git/compare.rb
gitlab_git-10.1.0 lib/gitlab_git/compare.rb
gitlab_git-10.0.2 lib/gitlab_git/compare.rb
gitlab_git-10.0.1 lib/gitlab_git/compare.rb
gitlab_git-10.0.0 lib/gitlab_git/compare.rb
gitlab_git-9.0.3 lib/gitlab_git/compare.rb