ruby_git 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.commitlintrc.yml +16 -0
- data/.github/CODEOWNERS +4 -0
- data/.github/workflows/continuous_integration.yml +87 -0
- data/.github/workflows/enforce_conventional_commits.yml +21 -0
- data/.github/workflows/experimental_ruby_builds.yml +65 -0
- data/.gitignore +3 -0
- data/.husky/commit-msg +1 -0
- data/.markdownlint.yml +25 -0
- data/.rubocop.yml +13 -15
- data/.yardopts +6 -1
- data/CHANGELOG.md +58 -0
- data/CONTRIBUTING.md +5 -5
- data/{LICENSE.md → LICENSE.txt} +1 -1
- data/PLAN.md +67 -0
- data/README.md +58 -6
- data/RELEASING.md +5 -54
- data/Rakefile +31 -38
- data/RubyGit Class Diagram.svg +1 -0
- data/bin/command-line-test +189 -0
- data/bin/console +2 -0
- data/bin/setup +13 -2
- data/lib/ruby_git/command_line/options.rb +61 -0
- data/lib/ruby_git/command_line/result.rb +155 -0
- data/lib/ruby_git/command_line/runner.rb +296 -0
- data/lib/ruby_git/command_line.rb +95 -0
- data/lib/ruby_git/encoding_normalizer.rb +49 -0
- data/lib/ruby_git/errors.rb +169 -0
- data/lib/ruby_git/repository.rb +33 -0
- data/lib/ruby_git/status/branch.rb +92 -0
- data/lib/ruby_git/status/entry.rb +162 -0
- data/lib/ruby_git/status/ignored_entry.rb +44 -0
- data/lib/ruby_git/status/ordinary_entry.rb +207 -0
- data/lib/ruby_git/status/parser.rb +203 -0
- data/lib/ruby_git/status/renamed_entry.rb +257 -0
- data/lib/ruby_git/status/report.rb +143 -0
- data/lib/ruby_git/status/stash.rb +33 -0
- data/lib/ruby_git/status/submodule_status.rb +85 -0
- data/lib/ruby_git/status/unmerged_entry.rb +248 -0
- data/lib/ruby_git/status/untracked_entry.rb +52 -0
- data/lib/ruby_git/status.rb +33 -0
- data/lib/ruby_git/version.rb +1 -1
- data/lib/ruby_git/worktree.rb +175 -33
- data/lib/ruby_git.rb +91 -28
- data/package.json +11 -0
- data/ruby_git.gemspec +33 -23
- metadata +146 -50
- data/.travis.yml +0 -26
- data/CODEOWNERS +0 -3
- data/MAINTAINERS.md +0 -8
- data/lib/ruby_git/error.rb +0 -8
- data/lib/ruby_git/file_helpers.rb +0 -42
- data/lib/ruby_git/git_binary.rb +0 -106
- /data/{ISSUE_TEMPLATE.md → .github/ISSUE_TEMPLATE.md} +0 -0
- /data/{PULL_REQUEST_TEMPLATE.md → .github/PULL_REQUEST_TEMPLATE.md} +0 -0
data/lib/ruby_git.rb
CHANGED
@@ -1,33 +1,78 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
require_relative 'ruby_git/command_line'
|
4
|
+
require_relative 'ruby_git/encoding_normalizer'
|
5
|
+
require_relative 'ruby_git/errors'
|
6
|
+
require_relative 'ruby_git/repository'
|
7
|
+
require_relative 'ruby_git/status'
|
8
|
+
require_relative 'ruby_git/version'
|
9
|
+
require_relative 'ruby_git/worktree'
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
-
#
|
11
|
+
require 'logger'
|
12
|
+
|
13
|
+
# The RubyGit module provides a Ruby API that is an object-oriented wrapper around
|
14
|
+
# the `git` command line. It is intended to make automating both simple and complex Git
|
15
|
+
# interactions easier. To accomplish this, it ties each action you can do with `git` to
|
16
|
+
# the type of object that action operates on.
|
17
|
+
#
|
18
|
+
# There are three main objects in RubyGit:
|
19
|
+
# * {Worktree}: The directory tree of actual checked
|
20
|
+
# out files. The working tree normally contains the contents of the HEAD commit's
|
21
|
+
# tree, plus any local changes that you have made but not yet committed.
|
22
|
+
# * Index: The index is used as a staging area between your
|
23
|
+
# working tree and your repository. You can use the index to build up a set of changes
|
24
|
+
# that you want to commit together. When you create a commit, what is committed is what is
|
25
|
+
# currently in the index, not what is in your working directory.
|
26
|
+
# * Repository: The repository stores the files in a project,
|
27
|
+
# their history, and other meta data like commit information, tags, and branches.
|
12
28
|
#
|
13
29
|
# @api public
|
14
30
|
#
|
15
31
|
module RubyGit
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
32
|
+
@logger = Logger.new(nil)
|
33
|
+
|
34
|
+
class << self
|
35
|
+
# The logger used by the RubyGit gem (Logger.new(nil) by default)
|
36
|
+
#
|
37
|
+
# @example Using the logger
|
38
|
+
# RubyGit.logger.debug('Debug message')
|
39
|
+
#
|
40
|
+
# @example Setting the logger
|
41
|
+
# require 'logger'
|
42
|
+
# require 'stringio'
|
43
|
+
# log_device = StringIO.new
|
44
|
+
# RubyGit.logger = Logger.new(log_device, level: Logger::DEBUG)
|
45
|
+
# RubyGit.logger.debug('Debug message')
|
46
|
+
# log_device.string.include?('Debug message')
|
47
|
+
# => true
|
48
|
+
#
|
49
|
+
# @return [Logger] the logger used by the RubyGit gem
|
50
|
+
#
|
51
|
+
attr_accessor :logger
|
52
|
+
end
|
53
|
+
|
54
|
+
@binary_path = 'git'
|
55
|
+
|
56
|
+
class << self
|
57
|
+
# The path to the git binary used by the RubyGit gem
|
58
|
+
#
|
59
|
+
# * If the path is a command name, the command is search for in the PATH.
|
60
|
+
#
|
61
|
+
# * If the path is a relative path, it relative to the current directory (not
|
62
|
+
# recommended as this will change as the current directory is changed).
|
63
|
+
#
|
64
|
+
# * If the path is an absolute path, it is used as is.
|
65
|
+
#
|
66
|
+
# @example
|
67
|
+
# RubyGit.binary_path
|
68
|
+
# => "git"
|
69
|
+
#
|
70
|
+
# @return [String]
|
71
|
+
#
|
72
|
+
attr_accessor :binary_path
|
28
73
|
end
|
29
74
|
|
30
|
-
# Create an empty Git repository under the root
|
75
|
+
# Create an empty Git repository under the root working tree `path`
|
31
76
|
#
|
32
77
|
# If the repository already exists, it will not be overwritten.
|
33
78
|
#
|
@@ -46,7 +91,7 @@ module RubyGit
|
|
46
91
|
RubyGit::Worktree.init(worktree_path)
|
47
92
|
end
|
48
93
|
|
49
|
-
# Open an existing Git
|
94
|
+
# Open an existing Git working tree that contains worktree_path
|
50
95
|
#
|
51
96
|
# @see https://git-scm.com/docs/git-open git-open
|
52
97
|
#
|
@@ -55,7 +100,8 @@ module RubyGit
|
|
55
100
|
#
|
56
101
|
# @param [String] worktree_path the root path of a worktree
|
57
102
|
#
|
58
|
-
# @raise [RubyGit::Error] if `worktree_path` does not exist, is not a directory, or is not within
|
103
|
+
# @raise [RubyGit::Error] if `worktree_path` does not exist, is not a directory, or is not within
|
104
|
+
# a Git worktree.
|
59
105
|
#
|
60
106
|
# @return [RubyGit::Worktree] the worktree that contains `worktree_path`
|
61
107
|
#
|
@@ -76,7 +122,7 @@ module RubyGit
|
|
76
122
|
# => "/Users/jsmith"
|
77
123
|
# worktree = Worktree.clone('https://github.com/main-branch/ruby_git.git')
|
78
124
|
# worktree.path
|
79
|
-
#
|
125
|
+
# => "/Users/jsmith/ruby_git"
|
80
126
|
#
|
81
127
|
# @example Using a specified worktree_path
|
82
128
|
# FileUtils.pwd
|
@@ -84,11 +130,11 @@ module RubyGit
|
|
84
130
|
# worktree_path = '/tmp/project'
|
85
131
|
# worktree = Worktree.clone('https://github.com/main-branch/ruby_git.git', to_path: worktree_path)
|
86
132
|
# worktree.path
|
87
|
-
#
|
133
|
+
# => "/tmp/project"
|
88
134
|
#
|
89
135
|
# @param [String] repository_url a reference to a Git repository
|
90
136
|
#
|
91
|
-
# @param [String] to_path where to put the checked out
|
137
|
+
# @param [String] to_path where to put the checked out working tree once the repository is cloned
|
92
138
|
#
|
93
139
|
# `to_path` will be created if it does not exist. An error is raised if `to_path` exists and
|
94
140
|
# not an empty directory.
|
@@ -96,9 +142,26 @@ module RubyGit
|
|
96
142
|
# @raise [RubyGit::Error] if (1) `repository_url` is not valid or does not point to a valid repository OR
|
97
143
|
# (2) `to_path` is not an empty directory.
|
98
144
|
#
|
99
|
-
# @return [RubyGit::Worktree] the
|
145
|
+
# @return [RubyGit::Worktree] the working tree checked out from the cloned repository
|
100
146
|
#
|
101
147
|
def self.clone(repository_url, to_path: '')
|
102
|
-
RubyGit::Worktree.clone(repository_url, to_path:
|
148
|
+
RubyGit::Worktree.clone(repository_url, to_path:)
|
149
|
+
end
|
150
|
+
|
151
|
+
# The version of git referred to by the path
|
152
|
+
#
|
153
|
+
# @example for version 2.28.0
|
154
|
+
# RubyGit.binary_version #=> [2, 28, 0]
|
155
|
+
#
|
156
|
+
# @return [Array<Integer>] an array of integers representing the version.
|
157
|
+
#
|
158
|
+
# @raise [RuntimeError] if path was not set via `path=` and either PATH is not set
|
159
|
+
# or git was not found on the path.
|
160
|
+
#
|
161
|
+
def self.binary_version
|
162
|
+
command = %w[version]
|
163
|
+
options = { out: StringIO.new, err: StringIO.new }
|
164
|
+
version_string = RubyGit::CommandLine.run(*command, **options).stdout[/\d+\.\d+(\.\d+)+/]
|
165
|
+
version_string.split('.').collect(&:to_i)
|
103
166
|
end
|
104
167
|
end
|
data/package.json
ADDED
data/ruby_git.gemspec
CHANGED
@@ -9,27 +9,26 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.email = ['jcouball@yahoo.com']
|
10
10
|
spec.license = 'MIT'
|
11
11
|
|
12
|
-
spec.summary = '
|
12
|
+
spec.summary = 'An object-oriented interface to working with the git command line'
|
13
13
|
spec.description = <<~DESCRIPTION
|
14
|
-
|
15
|
-
|
16
|
-
An object-oriented interface to working with Git Worktrees and Repositories that
|
17
|
-
tries to make sense out of the Git command line.
|
14
|
+
An object-oriented interface to the git command line. See PLAN.md for
|
15
|
+
project progress.
|
18
16
|
DESCRIPTION
|
19
|
-
spec.
|
20
|
-
spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
|
17
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.1.0')
|
21
18
|
spec.requirements = [
|
22
|
-
'
|
23
|
-
'Ruby
|
24
|
-
'
|
25
|
-
'Mac, Linux, Unix, and Windows platforms are supported'
|
19
|
+
'Platform: Mac, Linux, or Windows',
|
20
|
+
'Ruby: MRI 3.1 or later, TruffleRuby 24 or later, or JRuby 9.4 or later',
|
21
|
+
'Git 2.28.0 or later'
|
26
22
|
]
|
27
23
|
|
28
24
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
29
25
|
|
26
|
+
# Project links
|
27
|
+
spec.homepage = "https://github.com/main-branch/#{spec.name}"
|
30
28
|
spec.metadata['homepage_uri'] = spec.homepage
|
31
|
-
spec.metadata['source_code_uri'] =
|
32
|
-
spec.metadata['
|
29
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
30
|
+
spec.metadata['documentation_uri'] = "https://rubydoc.info/gems/#{spec.name}/#{spec.version}"
|
31
|
+
spec.metadata['changelog_uri'] = "https://rubydoc.info/gems/#{spec.name}/#{spec.version}/file/CHANGELOG.md"
|
33
32
|
|
34
33
|
# Specify which files should be added to the gem when it is released.
|
35
34
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -40,14 +39,25 @@ Gem::Specification.new do |spec|
|
|
40
39
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
41
40
|
spec.require_paths = ['lib']
|
42
41
|
|
43
|
-
spec.add_development_dependency '
|
44
|
-
spec.add_development_dependency '
|
45
|
-
spec.add_development_dependency '
|
46
|
-
spec.add_development_dependency '
|
47
|
-
spec.add_development_dependency '
|
48
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
49
|
-
spec.add_development_dependency 'rubocop', '~>
|
50
|
-
spec.add_development_dependency 'simplecov', '0.
|
51
|
-
spec.add_development_dependency '
|
52
|
-
spec.add_development_dependency '
|
42
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.9'
|
43
|
+
spec.add_development_dependency 'command_line_boss', '~> 0.2'
|
44
|
+
spec.add_development_dependency 'create_github_release', '~> 2.1'
|
45
|
+
spec.add_development_dependency 'main_branch_shared_rubocop_config', '~> 0.1'
|
46
|
+
spec.add_development_dependency 'rake', '~> 13.2'
|
47
|
+
spec.add_development_dependency 'rspec', '~> 3.13'
|
48
|
+
spec.add_development_dependency 'rubocop', '~> 1.74'
|
49
|
+
spec.add_development_dependency 'simplecov', '~> 0.22'
|
50
|
+
spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
|
51
|
+
spec.add_development_dependency 'simplecov-rspec', '~> 0.4'
|
52
|
+
|
53
|
+
unless RUBY_PLATFORM == 'java'
|
54
|
+
spec.add_development_dependency 'redcarpet', '~> 3.6'
|
55
|
+
spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.28'
|
56
|
+
spec.add_development_dependency 'yardstick', '~> 0.9'
|
57
|
+
end
|
58
|
+
|
59
|
+
spec.add_dependency 'process_executer', '~> 3.0'
|
60
|
+
spec.add_dependency 'rchardet', '~> 1.9'
|
61
|
+
|
62
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
53
63
|
end
|
metadata
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Couball
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-03-28 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
13
|
+
name: bundler-audit
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
16
|
- - "~>"
|
@@ -25,103 +24,145 @@ dependencies:
|
|
25
24
|
- !ruby/object:Gem::Version
|
26
25
|
version: '0.9'
|
27
26
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
27
|
+
name: command_line_boss
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
30
|
- - "~>"
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
32
|
+
version: '0.2'
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
37
|
- - "~>"
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
39
|
+
version: '0.2'
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
41
|
+
name: create_github_release
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
44
43
|
requirements:
|
45
44
|
- - "~>"
|
46
45
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1
|
46
|
+
version: '2.1'
|
48
47
|
type: :development
|
49
48
|
prerelease: false
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
51
50
|
requirements:
|
52
51
|
- - "~>"
|
53
52
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1
|
53
|
+
version: '2.1'
|
55
54
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
55
|
+
name: main_branch_shared_rubocop_config
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
58
57
|
requirements:
|
59
58
|
- - "~>"
|
60
59
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
60
|
+
version: '0.1'
|
62
61
|
type: :development
|
63
62
|
prerelease: false
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
65
64
|
requirements:
|
66
65
|
- - "~>"
|
67
66
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
67
|
+
version: '0.1'
|
69
68
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
69
|
+
name: rake
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
72
71
|
requirements:
|
73
72
|
- - "~>"
|
74
73
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
74
|
+
version: '13.2'
|
76
75
|
type: :development
|
77
76
|
prerelease: false
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
79
78
|
requirements:
|
80
79
|
- - "~>"
|
81
80
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
81
|
+
version: '13.2'
|
83
82
|
- !ruby/object:Gem::Dependency
|
84
83
|
name: rspec
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
86
85
|
requirements:
|
87
86
|
- - "~>"
|
88
87
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
88
|
+
version: '3.13'
|
90
89
|
type: :development
|
91
90
|
prerelease: false
|
92
91
|
version_requirements: !ruby/object:Gem::Requirement
|
93
92
|
requirements:
|
94
93
|
- - "~>"
|
95
94
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
95
|
+
version: '3.13'
|
97
96
|
- !ruby/object:Gem::Dependency
|
98
97
|
name: rubocop
|
99
98
|
requirement: !ruby/object:Gem::Requirement
|
100
99
|
requirements:
|
101
100
|
- - "~>"
|
102
101
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
102
|
+
version: '1.74'
|
104
103
|
type: :development
|
105
104
|
prerelease: false
|
106
105
|
version_requirements: !ruby/object:Gem::Requirement
|
107
106
|
requirements:
|
108
107
|
- - "~>"
|
109
108
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
109
|
+
version: '1.74'
|
111
110
|
- !ruby/object:Gem::Dependency
|
112
111
|
name: simplecov
|
113
112
|
requirement: !ruby/object:Gem::Requirement
|
114
113
|
requirements:
|
115
|
-
- -
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0.22'
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0.22'
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: simplecov-lcov
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0.8'
|
131
|
+
type: :development
|
132
|
+
prerelease: false
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - "~>"
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0.8'
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: simplecov-rspec
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
116
143
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
144
|
+
version: '0.4'
|
118
145
|
type: :development
|
119
146
|
prerelease: false
|
120
147
|
version_requirements: !ruby/object:Gem::Requirement
|
121
148
|
requirements:
|
122
|
-
- -
|
149
|
+
- - "~>"
|
123
150
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
151
|
+
version: '0.4'
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
name: redcarpet
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '3.6'
|
159
|
+
type: :development
|
160
|
+
prerelease: false
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '3.6'
|
125
166
|
- !ruby/object:Gem::Dependency
|
126
167
|
name: yard
|
127
168
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +170,9 @@ dependencies:
|
|
129
170
|
- - "~>"
|
130
171
|
- !ruby/object:Gem::Version
|
131
172
|
version: '0.9'
|
173
|
+
- - ">="
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: 0.9.28
|
132
176
|
type: :development
|
133
177
|
prerelease: false
|
134
178
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -136,6 +180,9 @@ dependencies:
|
|
136
180
|
- - "~>"
|
137
181
|
- !ruby/object:Gem::Version
|
138
182
|
version: '0.9'
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: 0.9.28
|
139
186
|
- !ruby/object:Gem::Dependency
|
140
187
|
name: yardstick
|
141
188
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,52 +197,103 @@ dependencies:
|
|
150
197
|
- - "~>"
|
151
198
|
- !ruby/object:Gem::Version
|
152
199
|
version: '0.9'
|
200
|
+
- !ruby/object:Gem::Dependency
|
201
|
+
name: process_executer
|
202
|
+
requirement: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - "~>"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '3.0'
|
207
|
+
type: :runtime
|
208
|
+
prerelease: false
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - "~>"
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '3.0'
|
214
|
+
- !ruby/object:Gem::Dependency
|
215
|
+
name: rchardet
|
216
|
+
requirement: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - "~>"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '1.9'
|
221
|
+
type: :runtime
|
222
|
+
prerelease: false
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - "~>"
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '1.9'
|
153
228
|
description: |
|
154
|
-
|
155
|
-
|
156
|
-
An object-oriented interface to working with Git Worktrees and Repositories that
|
157
|
-
tries to make sense out of the Git command line.
|
229
|
+
An object-oriented interface to the git command line. See PLAN.md for
|
230
|
+
project progress.
|
158
231
|
email:
|
159
232
|
- jcouball@yahoo.com
|
160
233
|
executables: []
|
161
234
|
extensions: []
|
162
235
|
extra_rdoc_files: []
|
163
236
|
files:
|
237
|
+
- ".commitlintrc.yml"
|
238
|
+
- ".github/CODEOWNERS"
|
239
|
+
- ".github/ISSUE_TEMPLATE.md"
|
240
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
241
|
+
- ".github/workflows/continuous_integration.yml"
|
242
|
+
- ".github/workflows/enforce_conventional_commits.yml"
|
243
|
+
- ".github/workflows/experimental_ruby_builds.yml"
|
164
244
|
- ".gitignore"
|
245
|
+
- ".husky/commit-msg"
|
246
|
+
- ".markdownlint.yml"
|
165
247
|
- ".rspec"
|
166
248
|
- ".rubocop.yml"
|
167
|
-
- ".travis.yml"
|
168
249
|
- ".yardopts"
|
169
250
|
- CHANGELOG.md
|
170
|
-
- CODEOWNERS
|
171
251
|
- CONTRIBUTING.md
|
172
252
|
- Gemfile
|
173
|
-
-
|
174
|
-
-
|
175
|
-
- MAINTAINERS.md
|
176
|
-
- PULL_REQUEST_TEMPLATE.md
|
253
|
+
- LICENSE.txt
|
254
|
+
- PLAN.md
|
177
255
|
- README.md
|
178
256
|
- RELEASING.md
|
179
257
|
- Rakefile
|
258
|
+
- RubyGit Class Diagram.svg
|
259
|
+
- bin/command-line-test
|
180
260
|
- bin/console
|
181
261
|
- bin/setup
|
182
262
|
- lib/ruby_git.rb
|
183
|
-
- lib/ruby_git/
|
184
|
-
- lib/ruby_git/
|
185
|
-
- lib/ruby_git/
|
263
|
+
- lib/ruby_git/command_line.rb
|
264
|
+
- lib/ruby_git/command_line/options.rb
|
265
|
+
- lib/ruby_git/command_line/result.rb
|
266
|
+
- lib/ruby_git/command_line/runner.rb
|
267
|
+
- lib/ruby_git/encoding_normalizer.rb
|
268
|
+
- lib/ruby_git/errors.rb
|
269
|
+
- lib/ruby_git/repository.rb
|
270
|
+
- lib/ruby_git/status.rb
|
271
|
+
- lib/ruby_git/status/branch.rb
|
272
|
+
- lib/ruby_git/status/entry.rb
|
273
|
+
- lib/ruby_git/status/ignored_entry.rb
|
274
|
+
- lib/ruby_git/status/ordinary_entry.rb
|
275
|
+
- lib/ruby_git/status/parser.rb
|
276
|
+
- lib/ruby_git/status/renamed_entry.rb
|
277
|
+
- lib/ruby_git/status/report.rb
|
278
|
+
- lib/ruby_git/status/stash.rb
|
279
|
+
- lib/ruby_git/status/submodule_status.rb
|
280
|
+
- lib/ruby_git/status/unmerged_entry.rb
|
281
|
+
- lib/ruby_git/status/untracked_entry.rb
|
186
282
|
- lib/ruby_git/version.rb
|
187
283
|
- lib/ruby_git/worktree.rb
|
284
|
+
- package.json
|
188
285
|
- pre-commit
|
189
286
|
- ruby_git.gemspec
|
190
|
-
homepage: https://github.com/main-branch/ruby_git
|
287
|
+
homepage: https://github.com/main-branch/ruby_git
|
191
288
|
licenses:
|
192
289
|
- MIT
|
193
290
|
metadata:
|
194
291
|
allowed_push_host: https://rubygems.org
|
195
|
-
homepage_uri: https://github.com/main-branch/ruby_git
|
196
|
-
source_code_uri: https://github.com/main-branch/ruby_git
|
197
|
-
|
198
|
-
|
292
|
+
homepage_uri: https://github.com/main-branch/ruby_git
|
293
|
+
source_code_uri: https://github.com/main-branch/ruby_git
|
294
|
+
documentation_uri: https://rubydoc.info/gems/ruby_git/0.3.1
|
295
|
+
changelog_uri: https://rubydoc.info/gems/ruby_git/0.3.1/file/CHANGELOG.md
|
296
|
+
rubygems_mfa_required: 'true'
|
199
297
|
rdoc_options: []
|
200
298
|
require_paths:
|
201
299
|
- lib
|
@@ -203,19 +301,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
203
301
|
requirements:
|
204
302
|
- - ">="
|
205
303
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
304
|
+
version: 3.1.0
|
207
305
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
306
|
requirements:
|
209
307
|
- - ">="
|
210
308
|
- !ruby/object:Gem::Version
|
211
309
|
version: '0'
|
212
310
|
requirements:
|
213
|
-
-
|
214
|
-
- Ruby
|
215
|
-
-
|
216
|
-
|
217
|
-
rubygems_version: 3.1.4
|
218
|
-
signing_key:
|
311
|
+
- 'Platform: Mac, Linux, or Windows'
|
312
|
+
- 'Ruby: MRI 3.1 or later, TruffleRuby 24 or later, or JRuby 9.4 or later'
|
313
|
+
- Git 2.28.0 or later
|
314
|
+
rubygems_version: 3.6.2
|
219
315
|
specification_version: 4
|
220
|
-
summary:
|
316
|
+
summary: An object-oriented interface to working with the git command line
|
221
317
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
---
|
2
|
-
language: ruby
|
3
|
-
|
4
|
-
env:
|
5
|
-
global:
|
6
|
-
secure: SSSOEixn3ZAtlFmDyczVFAn/a7r+oWt2Ji+CZsRyn3jaXGx27kv0jGVWiTEAjjdEpIjoTSGMoagkP2b0o/+G2ZJgWdlZrLZBI16vmQy/OK386aENKseVsWlH3L6FxDAMDOeK8jRMZEPZWBjfK3MbtG2sfTDqA+kxi1VradFRE/YeLaES8AefbqZvXQgsg9CpLw1rBJTjAxduHVmjS23KY26eNy7wu7Pun4kwHOfmYsT7B/9Dbe9TvB3j01mYHBDbHGK8I+i8qLxU9whB9YhvitgnAY7nvH6aiOTaMKwz81Pr16SdQV+IayG+0dZoY81smSwCjlDdWg9+m/3HtcwU6TAbFCo1TGqQiF6zcvlT3P7hKUEJeCdptXtQuf9PVIjU4AIB1CXAIz2sqWoqRSArAzRmLMjho8RW9Nv7JGz6tN2DCyBOa2G5/+y0knkd8zdXvslCMeBjMn+yf6Ot7NZe4ItTT6YMUqb+Sp3CZzXZtkUqZNYC7BtWn+hLZYj/J48tKYLbFY8wQZ/WswWK9V5SqOuGmIKl/vcLF0DMPcsVotTCvU5Masl+GjBjuzyyGRWViF6qcMXW1QFbuTiQxrF1Gz4jVPL7OA4lflpSOWub+bKzeca71VF8QuFC/pIJoNsnMu39TtCbFhHB7H1NOfqsC63XiWx3JJj/a8d/Z7U5qb8=
|
7
|
-
|
8
|
-
cache: bundler
|
9
|
-
|
10
|
-
rvm:
|
11
|
-
- 2.6
|
12
|
-
- 2.7
|
13
|
-
- ruby-head
|
14
|
-
|
15
|
-
before_script:
|
16
|
-
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
17
|
-
- chmod +x ./cc-test-reporter
|
18
|
-
- ./cc-test-reporter before-build
|
19
|
-
|
20
|
-
after_script:
|
21
|
-
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
22
|
-
|
23
|
-
matrix:
|
24
|
-
allow_failures:
|
25
|
-
- rvm: ruby-head
|
26
|
-
fast_finish: true
|
data/CODEOWNERS
DELETED
data/MAINTAINERS.md
DELETED