Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <git@zjvandeweg.nl>2018-07-30 16:10:29 +0300
committerZeger-Jan van de Weg <git@zjvandeweg.nl>2018-07-31 09:53:38 +0300
commit108e3ddb13b550a7ee2ff44a4c43ea0bc06e69bd (patch)
tree93bb8436c3228b93d5ff1b5b9617d2559bb88f16
parent1edc945c27e9368a2e73565d70fdf827ab7274c6 (diff)
Stop vendoring Gitlab::VersionInfo
Not residing in `Gitlab::Git`, and doesn't often see changes. This change blacklists it from updating when vendoring, and moving it out of the vendor directory. Part of: https://gitlab.com/gitlab-org/gitaly/issues/1279
-rwxr-xr-x_support/vendor-gitlab-git2
-rw-r--r--changelogs/unreleased/zj-stop-vendor-version-info.yml5
-rw-r--r--ruby/lib/gitlab/git.rb2
-rw-r--r--ruby/lib/gitlab/version_info.rb (renamed from ruby/vendor/gitlab_git/lib/gitlab/version_info.rb)0
-rw-r--r--ruby/spec/lib/gitlab/version_info_spec.rb66
5 files changed, 73 insertions, 2 deletions
diff --git a/_support/vendor-gitlab-git b/_support/vendor-gitlab-git
index 46fd5b38a..19f9a6666 100755
--- a/_support/vendor-gitlab-git
+++ b/_support/vendor-gitlab-git
@@ -6,7 +6,6 @@ FILE_LIST = %w[
lib/gitlab/git
lib/gitlab/encoding_helper.rb
lib/gitlab/utils/strong_memoize.rb
- lib/gitlab/version_info.rb
].freeze
# We have (already) stopped vendoring these files.
@@ -33,6 +32,7 @@ EXCLUDE = %w[
lib/gitlab/git/wiki_file.rb
lib/gitlab/git/wiki_page.rb
lib/gitlab/git/wiki_page_version.rb
+ lib/gitlab/version_info.rb
].freeze
REMOTE = 'https://gitlab.com/gitlab-org/gitlab-ce'.freeze
diff --git a/changelogs/unreleased/zj-stop-vendor-version-info.yml b/changelogs/unreleased/zj-stop-vendor-version-info.yml
new file mode 100644
index 000000000..70c4b900c
--- /dev/null
+++ b/changelogs/unreleased/zj-stop-vendor-version-info.yml
@@ -0,0 +1,5 @@
+---
+title: Stop vendoring Gitlab::VersionInfo
+merge_request: 840
+author:
+type: changed
diff --git a/ruby/lib/gitlab/git.rb b/ruby/lib/gitlab/git.rb
index d2c097a70..bc72f5ca4 100644
--- a/ruby/lib/gitlab/git.rb
+++ b/ruby/lib/gitlab/git.rb
@@ -18,6 +18,7 @@ require_relative 'git_logger.rb'
require_relative 'rails_logger.rb'
require_relative 'gollum.rb'
require_relative 'config.rb'
+require_relative 'version_info'
def require_dependency(_arg)
# no-op
@@ -28,7 +29,6 @@ vendor_gitlab_git = '../../vendor/gitlab_git/'
# Some later requires are order-sensitive. Manually require whatever we need.
require_relative File.join(vendor_gitlab_git, 'lib/gitlab/encoding_helper.rb')
require_relative File.join(vendor_gitlab_git, 'lib/gitlab/utils/strong_memoize.rb')
-require_relative File.join(vendor_gitlab_git, 'lib/gitlab/version_info.rb')
require_relative File.join(vendor_gitlab_git, 'lib/gitlab/git.rb')
require_relative File.join(vendor_gitlab_git, 'lib/gitlab/git/popen.rb')
require_relative File.join(vendor_gitlab_git, 'lib/gitlab/git/ref.rb')
diff --git a/ruby/vendor/gitlab_git/lib/gitlab/version_info.rb b/ruby/lib/gitlab/version_info.rb
index 6ee41e85c..6ee41e85c 100644
--- a/ruby/vendor/gitlab_git/lib/gitlab/version_info.rb
+++ b/ruby/lib/gitlab/version_info.rb
diff --git a/ruby/spec/lib/gitlab/version_info_spec.rb b/ruby/spec/lib/gitlab/version_info_spec.rb
new file mode 100644
index 000000000..923b4a7db
--- /dev/null
+++ b/ruby/spec/lib/gitlab/version_info_spec.rb
@@ -0,0 +1,66 @@
+require 'spec_helper'
+
+describe Gitlab::VersionInfo do
+ let(:unknown) { described_class.new }
+ let(:v0_0_1) { described_class.new(0, 0, 1)}
+ let(:v0_1_0) { described_class.new(0, 1, 0) }
+ let(:v1_0_0) { described_class.new(1, 0, 0) }
+ let(:v1_0_1) { described_class.new(1, 0, 1) }
+ let(:v1_1_0) { described_class.new(1, 1, 0) }
+ let(:v2_0_0) { described_class.new(2, 0, 0) }
+
+ context '>' do
+ it { expect(v2_0_0).to be > v1_1_0 }
+ it { expect(v1_1_0).to be > v1_0_1 }
+ it { expect(v1_0_1).to be > v1_0_0 }
+ it { expect(v1_0_0).to be > v0_1_0 }
+ it { expect(v0_1_0).to be > v0_0_1 }
+ end
+
+ context '>=' do
+ it { expect(v2_0_0).to be >= described_class.new(2, 0, 0) }
+ it { expect(v2_0_0).to be >= v1_1_0 }
+ end
+
+ context '<' do
+ it { expect(v0_0_1).to be < v0_1_0 }
+ it { expect(v0_1_0).to be < v1_0_0 }
+ it { expect(v1_0_0).to be < v1_0_1 }
+ it { expect(v1_0_1).to be < v1_1_0 }
+ it { expect(v1_1_0).to be < v2_0_0 }
+ end
+
+ context '<=' do
+ it { expect(v0_0_1).to be <= described_class.new(0, 0, 1) }
+ it { expect(v0_0_1).to be <= v0_1_0 }
+ end
+
+ context '==' do
+ it { expect(v0_0_1).to eq(described_class.new(0, 0, 1)) }
+ it { expect(v0_1_0).to eq(described_class.new(0, 1, 0)) }
+ it { expect(v1_0_0).to eq(described_class.new(1, 0, 0)) }
+ end
+
+ context '!=' do
+ it { expect(v0_0_1).not_to eq(v0_1_0) }
+ end
+
+ context 'unknown' do
+ it { expect(unknown).not_to be v0_0_1 }
+ it { expect(unknown).not_to be described_class.new }
+ it { expect {unknown > v0_0_1}.to raise_error(ArgumentError) }
+ it { expect {unknown < v0_0_1}.to raise_error(ArgumentError) }
+ end
+
+ context 'parse' do
+ it { expect(described_class.parse("1.0.0")).to eq(v1_0_0) }
+ it { expect(described_class.parse("1.0.0.1")).to eq(v1_0_0) }
+ it { expect(described_class.parse("git 1.0.0b1")).to eq(v1_0_0) }
+ it { expect(described_class.parse("git 1.0b1")).not_to be_valid }
+ end
+
+ context 'to_s' do
+ it { expect(v1_0_0.to_s).to eq("1.0.0") }
+ it { expect(unknown.to_s).to eq("Unknown") }
+ end
+end