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:
authorJacob Vosmaer (GitLab) <jacob@gitlab.com>2018-07-31 13:09:46 +0300
committerJacob Vosmaer (GitLab) <jacob@gitlab.com>2018-07-31 13:09:46 +0300
commita74d859ed038348b4a28a0fd2bd141a80ab2ea05 (patch)
tree05ba6296f89d9c4dbf5c93cdf1e98d412815ed21
parent44c3555b936783e0db92af2b657ed27b9cf5c3c4 (diff)
parent108e3ddb13b550a7ee2ff44a4c43ea0bc06e69bd (diff)
Merge branch 'zj-stop-vendor-version-info' into 'master'
Stop vendoring Gitlab::VersionInfo See merge request gitlab-org/gitaly!840
-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