ruby_git 0.1.3 → 0.3.0
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 +76 -20
- data/CONTRIBUTING.md +7 -7
- data/{LICENSE.md → LICENSE.txt} +1 -1
- data/PLAN.md +67 -0
- data/README.md +64 -10
- 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 +277 -0
- data/lib/ruby_git.rb +154 -14
- data/package.json +11 -0
- data/ruby_git.gemspec +32 -20
- metadata +146 -45
- data/.travis.yml +0 -13
- data/MAINTAINERS.md +0 -8
- data/lib/ruby_git/file_helpers.rb +0 -42
- data/lib/ruby_git/git_binary.rb +0 -90
- /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,27 +1,167 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
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'
|
6
10
|
|
7
|
-
|
8
|
-
|
9
|
-
#
|
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.
|
10
28
|
#
|
11
29
|
# @api public
|
12
30
|
#
|
13
31
|
module RubyGit
|
14
|
-
|
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
|
73
|
+
end
|
74
|
+
|
75
|
+
# Create an empty Git repository under the root working tree `path`
|
76
|
+
#
|
77
|
+
# If the repository already exists, it will not be overwritten.
|
78
|
+
#
|
79
|
+
# @see https://git-scm.com/docs/git-init git-init
|
80
|
+
#
|
81
|
+
# @example
|
82
|
+
# worktree = Worktree.init(worktree_path)
|
83
|
+
#
|
84
|
+
# @param [String] worktree_path the root path of a worktree
|
85
|
+
#
|
86
|
+
# @raise [RubyGit::Error] if worktree_path is not a directory
|
87
|
+
#
|
88
|
+
# @return [RubyGit::Worktree] the worktree whose root is at `path`
|
89
|
+
#
|
90
|
+
def self.init(worktree_path)
|
91
|
+
RubyGit::Worktree.init(worktree_path)
|
92
|
+
end
|
93
|
+
|
94
|
+
# Open an existing Git working tree that contains worktree_path
|
95
|
+
#
|
96
|
+
# @see https://git-scm.com/docs/git-open git-open
|
97
|
+
#
|
98
|
+
# @example
|
99
|
+
# worktree = Worktree.open(worktree_path)
|
100
|
+
#
|
101
|
+
# @param [String] worktree_path the root path of a worktree
|
102
|
+
#
|
103
|
+
# @raise [RubyGit::Error] if `worktree_path` does not exist, is not a directory, or is not within
|
104
|
+
# a Git worktree.
|
105
|
+
#
|
106
|
+
# @return [RubyGit::Worktree] the worktree that contains `worktree_path`
|
107
|
+
#
|
108
|
+
def self.open(worktree_path)
|
109
|
+
RubyGit::Worktree.open(worktree_path)
|
110
|
+
end
|
111
|
+
|
112
|
+
# Copy the remote repository and checkout the default branch
|
113
|
+
#
|
114
|
+
# Clones the repository referred to by `repository_url` into a newly created
|
115
|
+
# directory, creates remote-tracking branches for each branch in the cloned repository,
|
116
|
+
# and checks out the default branch in the worktree whose root directory is `to_path`.
|
117
|
+
#
|
118
|
+
# @see https://git-scm.com/docs/git-clone git-clone
|
119
|
+
#
|
120
|
+
# @example Using default for Worktree path
|
121
|
+
# FileUtils.pwd
|
122
|
+
# => "/Users/jsmith"
|
123
|
+
# worktree = Worktree.clone('https://github.com/main-branch/ruby_git.git')
|
124
|
+
# worktree.path
|
125
|
+
# => "/Users/jsmith/ruby_git"
|
126
|
+
#
|
127
|
+
# @example Using a specified worktree_path
|
128
|
+
# FileUtils.pwd
|
129
|
+
# => "/Users/jsmith"
|
130
|
+
# worktree_path = '/tmp/project'
|
131
|
+
# worktree = Worktree.clone('https://github.com/main-branch/ruby_git.git', to_path: worktree_path)
|
132
|
+
# worktree.path
|
133
|
+
# => "/tmp/project"
|
134
|
+
#
|
135
|
+
# @param [String] repository_url a reference to a Git repository
|
136
|
+
#
|
137
|
+
# @param [String] to_path where to put the checked out working tree once the repository is cloned
|
138
|
+
#
|
139
|
+
# `to_path` will be created if it does not exist. An error is raised if `to_path` exists and
|
140
|
+
# not an empty directory.
|
141
|
+
#
|
142
|
+
# @raise [RubyGit::Error] if (1) `repository_url` is not valid or does not point to a valid repository OR
|
143
|
+
# (2) `to_path` is not an empty directory.
|
144
|
+
#
|
145
|
+
# @return [RubyGit::Worktree] the working tree checked out from the cloned repository
|
146
|
+
#
|
147
|
+
def self.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
|
15
152
|
#
|
16
|
-
#
|
17
|
-
#
|
153
|
+
# @example for version 2.28.0
|
154
|
+
# RubyGit.binary_version #=> [2, 28, 0]
|
18
155
|
#
|
19
|
-
# @
|
20
|
-
# RubyGit.git.path = '/usr/local/bin/git'
|
156
|
+
# @return [Array<Integer>] an array of integers representing the version.
|
21
157
|
#
|
22
|
-
# @
|
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.
|
23
160
|
#
|
24
|
-
def self.
|
25
|
-
|
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)
|
26
166
|
end
|
27
167
|
end
|
data/package.json
ADDED
data/ruby_git.gemspec
CHANGED
@@ -9,27 +9,28 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.email = ['jcouball@yahoo.com']
|
10
10
|
spec.license = 'MIT'
|
11
11
|
|
12
|
-
spec.summary = 'A Ruby library to work with Git
|
12
|
+
spec.summary = 'A Ruby library to work with Git Respositories'
|
13
13
|
spec.description = <<~DESCRIPTION
|
14
14
|
THIS PROJECT IS A WORK IN PROGRESS AND IS NOT USEFUL IN ITS CURRENT STATE
|
15
15
|
|
16
|
-
An object-oriented interface to working with Git
|
16
|
+
An object-oriented interface to working with Git Repositories that
|
17
17
|
tries to make sense out of the Git command line.
|
18
18
|
DESCRIPTION
|
19
|
-
spec.
|
20
|
-
spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
|
19
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 3.1.0')
|
21
20
|
spec.requirements = [
|
22
|
-
'
|
23
|
-
'Ruby
|
24
|
-
'
|
25
|
-
'Mac, Linux, Unix, and Windows platforms are supported'
|
21
|
+
'Platform: Mac, Linux, or Windows',
|
22
|
+
'Ruby: MRI 3.1 or later, TruffleRuby 24 or later, or JRuby 9.4 or later',
|
23
|
+
'Git 2.28.0 or later'
|
26
24
|
]
|
27
25
|
|
28
26
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
29
27
|
|
28
|
+
# Project links
|
29
|
+
spec.homepage = "https://github.com/main-branch/#{spec.name}"
|
30
30
|
spec.metadata['homepage_uri'] = spec.homepage
|
31
|
-
spec.metadata['source_code_uri'] =
|
32
|
-
spec.metadata['
|
31
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
32
|
+
spec.metadata['documentation_uri'] = "https://rubydoc.info/gems/#{spec.name}/#{spec.version}"
|
33
|
+
spec.metadata['changelog_uri'] = "https://rubydoc.info/gems/#{spec.name}/#{spec.version}/file/CHANGELOG.md"
|
33
34
|
|
34
35
|
# Specify which files should be added to the gem when it is released.
|
35
36
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -40,14 +41,25 @@ Gem::Specification.new do |spec|
|
|
40
41
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
41
42
|
spec.require_paths = ['lib']
|
42
43
|
|
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 '
|
44
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.9'
|
45
|
+
spec.add_development_dependency 'command_line_boss', '~> 0.2'
|
46
|
+
spec.add_development_dependency 'create_github_release', '~> 2.1'
|
47
|
+
spec.add_development_dependency 'main_branch_shared_rubocop_config', '~> 0.1'
|
48
|
+
spec.add_development_dependency 'rake', '~> 13.2'
|
49
|
+
spec.add_development_dependency 'rspec', '~> 3.13'
|
50
|
+
spec.add_development_dependency 'rubocop', '~> 1.74'
|
51
|
+
spec.add_development_dependency 'simplecov', '~> 0.22'
|
52
|
+
spec.add_development_dependency 'simplecov-lcov', '~> 0.8'
|
53
|
+
spec.add_development_dependency 'simplecov-rspec', '~> 0.4'
|
54
|
+
|
55
|
+
unless RUBY_PLATFORM == 'java'
|
56
|
+
spec.add_development_dependency 'redcarpet', '~> 3.6'
|
57
|
+
spec.add_development_dependency 'yard', '~> 0.9', '>= 0.9.28'
|
58
|
+
spec.add_development_dependency 'yardstick', '~> 0.9'
|
59
|
+
end
|
60
|
+
|
61
|
+
spec.add_dependency 'process_executer', '~> 3.0'
|
62
|
+
spec.add_dependency 'rchardet', '~> 1.9'
|
63
|
+
|
64
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
53
65
|
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.0
|
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,10 +197,38 @@ 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
229
|
THIS PROJECT IS A WORK IN PROGRESS AND IS NOT USEFUL IN ITS CURRENT STATE
|
155
230
|
|
156
|
-
An object-oriented interface to working with Git
|
231
|
+
An object-oriented interface to working with Git Repositories that
|
157
232
|
tries to make sense out of the Git command line.
|
158
233
|
email:
|
159
234
|
- jcouball@yahoo.com
|
@@ -161,38 +236,66 @@ executables: []
|
|
161
236
|
extensions: []
|
162
237
|
extra_rdoc_files: []
|
163
238
|
files:
|
239
|
+
- ".commitlintrc.yml"
|
240
|
+
- ".github/CODEOWNERS"
|
241
|
+
- ".github/ISSUE_TEMPLATE.md"
|
242
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
243
|
+
- ".github/workflows/continuous_integration.yml"
|
244
|
+
- ".github/workflows/enforce_conventional_commits.yml"
|
245
|
+
- ".github/workflows/experimental_ruby_builds.yml"
|
164
246
|
- ".gitignore"
|
247
|
+
- ".husky/commit-msg"
|
248
|
+
- ".markdownlint.yml"
|
165
249
|
- ".rspec"
|
166
250
|
- ".rubocop.yml"
|
167
|
-
- ".travis.yml"
|
168
251
|
- ".yardopts"
|
169
252
|
- CHANGELOG.md
|
170
253
|
- CONTRIBUTING.md
|
171
254
|
- Gemfile
|
172
|
-
-
|
173
|
-
-
|
174
|
-
- MAINTAINERS.md
|
175
|
-
- PULL_REQUEST_TEMPLATE.md
|
255
|
+
- LICENSE.txt
|
256
|
+
- PLAN.md
|
176
257
|
- README.md
|
177
258
|
- RELEASING.md
|
178
259
|
- Rakefile
|
260
|
+
- RubyGit Class Diagram.svg
|
261
|
+
- bin/command-line-test
|
179
262
|
- bin/console
|
180
263
|
- bin/setup
|
181
264
|
- lib/ruby_git.rb
|
182
|
-
- lib/ruby_git/
|
183
|
-
- lib/ruby_git/
|
265
|
+
- lib/ruby_git/command_line.rb
|
266
|
+
- lib/ruby_git/command_line/options.rb
|
267
|
+
- lib/ruby_git/command_line/result.rb
|
268
|
+
- lib/ruby_git/command_line/runner.rb
|
269
|
+
- lib/ruby_git/encoding_normalizer.rb
|
270
|
+
- lib/ruby_git/errors.rb
|
271
|
+
- lib/ruby_git/repository.rb
|
272
|
+
- lib/ruby_git/status.rb
|
273
|
+
- lib/ruby_git/status/branch.rb
|
274
|
+
- lib/ruby_git/status/entry.rb
|
275
|
+
- lib/ruby_git/status/ignored_entry.rb
|
276
|
+
- lib/ruby_git/status/ordinary_entry.rb
|
277
|
+
- lib/ruby_git/status/parser.rb
|
278
|
+
- lib/ruby_git/status/renamed_entry.rb
|
279
|
+
- lib/ruby_git/status/report.rb
|
280
|
+
- lib/ruby_git/status/stash.rb
|
281
|
+
- lib/ruby_git/status/submodule_status.rb
|
282
|
+
- lib/ruby_git/status/unmerged_entry.rb
|
283
|
+
- lib/ruby_git/status/untracked_entry.rb
|
184
284
|
- lib/ruby_git/version.rb
|
285
|
+
- lib/ruby_git/worktree.rb
|
286
|
+
- package.json
|
185
287
|
- pre-commit
|
186
288
|
- ruby_git.gemspec
|
187
|
-
homepage: https://github.com/
|
289
|
+
homepage: https://github.com/main-branch/ruby_git
|
188
290
|
licenses:
|
189
291
|
- MIT
|
190
292
|
metadata:
|
191
293
|
allowed_push_host: https://rubygems.org
|
192
|
-
homepage_uri: https://github.com/
|
193
|
-
source_code_uri: https://github.com/
|
194
|
-
|
195
|
-
|
294
|
+
homepage_uri: https://github.com/main-branch/ruby_git
|
295
|
+
source_code_uri: https://github.com/main-branch/ruby_git
|
296
|
+
documentation_uri: https://rubydoc.info/gems/ruby_git/0.3.0
|
297
|
+
changelog_uri: https://rubydoc.info/gems/ruby_git/0.3.0/file/CHANGELOG.md
|
298
|
+
rubygems_mfa_required: 'true'
|
196
299
|
rdoc_options: []
|
197
300
|
require_paths:
|
198
301
|
- lib
|
@@ -200,19 +303,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
200
303
|
requirements:
|
201
304
|
- - ">="
|
202
305
|
- !ruby/object:Gem::Version
|
203
|
-
version:
|
306
|
+
version: 3.1.0
|
204
307
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
308
|
requirements:
|
206
309
|
- - ">="
|
207
310
|
- !ruby/object:Gem::Version
|
208
311
|
version: '0'
|
209
312
|
requirements:
|
210
|
-
-
|
211
|
-
- Ruby
|
212
|
-
-
|
213
|
-
|
214
|
-
rubygems_version: 3.1.2
|
215
|
-
signing_key:
|
313
|
+
- 'Platform: Mac, Linux, or Windows'
|
314
|
+
- 'Ruby: MRI 3.1 or later, TruffleRuby 24 or later, or JRuby 9.4 or later'
|
315
|
+
- Git 2.28.0 or later
|
316
|
+
rubygems_version: 3.6.2
|
216
317
|
specification_version: 4
|
217
|
-
summary: A Ruby library to work with Git
|
318
|
+
summary: A Ruby library to work with Git Respositories
|
218
319
|
test_files: []
|
data/.travis.yml
DELETED