bash-merge 2.0.4 → 2.0.6
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +44 -1
- data/README.md +23 -49
- data/lib/bash/merge/conflict_resolver.rb +40 -7
- data/lib/bash/merge/smart_merger.rb +1 -0
- data/lib/bash/merge/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +19 -13
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c986cd0c94a1ce089bbd91e4dfaf8231fce4f1c7be371d2360fe9d554629c66
|
|
4
|
+
data.tar.gz: a015c172a3927379ccdc99306aeead042f79f33b7b75f4d6634039fa43383419
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b4d132dc07bfc018c0d4624d4db9d054959fff75c886fd63b2c8e7864586c19f865f9f0c13230dbcf0d7709ef8819afde7f821650a1724a13a173c1e3f37d6a9
|
|
7
|
+
data.tar.gz: 8000de3038c098bcfafc24db674313fef4e1c3e2e51ad55e6b696f0135482d740afc0e722e017d259b52166724d675eb680b74f4530eae3423040826993c441b
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,45 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.0.6] - 2026-02-19
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.0.6][2.0.6t]
|
|
36
|
+
- COVERAGE: 96.10% -- 518/539 lines in 11 files
|
|
37
|
+
- BRANCH COVERAGE: 74.72% -- 133/178 branches in 11 files
|
|
38
|
+
- 96.33% documented
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- AGENTS.md
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- appraisal2 v3.0.6
|
|
47
|
+
- kettle-test v1.0.10
|
|
48
|
+
- stone_checksums v1.0.3
|
|
49
|
+
- ast-merge v4.0.6
|
|
50
|
+
- tree_haver v5.0.5
|
|
51
|
+
- tree_stump v0.2.0
|
|
52
|
+
- fork no longer required, updates all applied upstream
|
|
53
|
+
- Updated documentation on hostile takeover of RubyGems
|
|
54
|
+
- https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo
|
|
55
|
+
|
|
56
|
+
## [2.0.5] - 2026-02-01
|
|
57
|
+
|
|
58
|
+
- TAG: [v2.0.5][2.0.5t]
|
|
59
|
+
- COVERAGE: 96.10% -- 518/539 lines in 11 files
|
|
60
|
+
- BRANCH COVERAGE: 74.72% -- 133/178 branches in 11 files
|
|
61
|
+
- 96.33% documented
|
|
62
|
+
|
|
63
|
+
### Added
|
|
64
|
+
|
|
65
|
+
- ConflictResolver now applies per-node-type preferences via `node_typing`.
|
|
66
|
+
|
|
67
|
+
### Changed
|
|
68
|
+
|
|
69
|
+
- Upgrade to [ast-merge v4.0.5](https://github.com/kettle-rb/ast-merge/releases/tag/v4.0.5)
|
|
70
|
+
- Upgrade to [tree_haver v5.0.3](https://github.com/kettle-rb/tree_haver/releases/tag/v5.0.3)
|
|
71
|
+
|
|
33
72
|
## [2.0.4] - 2026-01-20
|
|
34
73
|
|
|
35
74
|
- TAG: [v2.0.4][2.0.4t]
|
|
@@ -149,7 +188,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
149
188
|
|
|
150
189
|
### Security
|
|
151
190
|
|
|
152
|
-
[Unreleased]: https://github.com/kettle-rb/bash-merge/compare/v2.0.
|
|
191
|
+
[Unreleased]: https://github.com/kettle-rb/bash-merge/compare/v2.0.6...HEAD
|
|
192
|
+
[2.0.6]: https://github.com/kettle-rb/bash-merge/compare/v2.0.5...v2.0.6
|
|
193
|
+
[2.0.6t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.6
|
|
194
|
+
[2.0.5]: https://github.com/kettle-rb/bash-merge/compare/v2.0.4...v2.0.5
|
|
195
|
+
[2.0.5t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.5
|
|
153
196
|
[2.0.4]: https://github.com/kettle-rb/bash-merge/compare/v2.0.3...v2.0.4
|
|
154
197
|
[2.0.4t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.4
|
|
155
198
|
[2.0.3]: https://github.com/kettle-rb/bash-merge/compare/v2.0.2...v2.0.3
|
data/README.md
CHANGED
|
@@ -1,36 +1,3 @@
|
|
|
1
|
-
| 📍 NOTE |
|
|
2
|
-
| --- |
|
|
3
|
-
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
|
|
4
|
-
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. |
|
|
5
|
-
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
|
|
6
|
-
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
|
|
7
|
-
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
|
|
8
|
-
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
|
|
9
|
-
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
|
|
10
|
-
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
|
|
11
|
-
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
|
|
12
|
-
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
|
|
13
|
-
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
|
|
14
|
-
|
|
15
|
-
[rubygems-org]: https://github.com/rubygems/
|
|
16
|
-
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
|
|
17
|
-
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
|
|
18
|
-
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
|
|
19
|
-
[simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
|
|
20
|
-
[martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
|
|
21
|
-
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
|
|
22
|
-
[draper-theft]: https://joel.drapper.me/p/ruby-central/
|
|
23
|
-
[reinteractive]: https://reinteractive.com/ruby-on-rails
|
|
24
|
-
[gem-coop]: https://gem.coop
|
|
25
|
-
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
|
|
26
|
-
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
|
|
27
|
-
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
|
|
28
|
-
[gem-server]: https://github.com/galtzo-floss/gem-server
|
|
29
|
-
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
|
|
30
|
-
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
|
|
31
|
-
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
|
|
32
|
-
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
|
|
33
|
-
|
|
34
1
|
[![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-rb Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-rb-i]][🖼️kettle-rb]
|
|
35
2
|
|
|
36
3
|
[🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
|
|
@@ -52,6 +19,13 @@
|
|
|
52
19
|
|
|
53
20
|
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
54
21
|
|
|
22
|
+
<details>
|
|
23
|
+
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
24
|
+
|
|
25
|
+
I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
|
|
26
|
+
|
|
27
|
+
</details>
|
|
28
|
+
|
|
55
29
|
## 🌻 Synopsis
|
|
56
30
|
|
|
57
31
|
Bash::Merge is a standalone Ruby module that intelligently merges two versions of a Bash script using tree-sitter AST analysis. It's like a smart "git merge" specifically designed for shell scripts. Built on top of [ast-merge][ast-merge], it shares the same architecture as [prism-merge][prism-merge] for Ruby source files.
|
|
@@ -104,21 +78,21 @@ File.write("merged.sh", result.to_bash)
|
|
|
104
78
|
|
|
105
79
|
The `*-merge` gem family provides intelligent, AST-based merging for various file formats. At the foundation is [tree_haver][tree_haver], which provides a unified cross-Ruby parsing API that works seamlessly across MRI, JRuby, and TruffleRuby.
|
|
106
80
|
|
|
107
|
-
| Gem |
|
|
108
|
-
|
|
109
|
-
| [tree_haver][tree_haver] |
|
|
110
|
-
| [ast-merge][ast-merge] |
|
|
111
|
-
| [bash-merge][bash-merge] |
|
|
112
|
-
| [commonmarker-merge][commonmarker-merge] | [![Version][commonmarker-merge-gem-i]][commonmarker-merge-gem]
|
|
113
|
-
| [dotenv-merge][dotenv-merge] |
|
|
114
|
-
| [json-merge][json-merge] |
|
|
115
|
-
| [jsonc-merge][jsonc-merge] |
|
|
116
|
-
| [markdown-merge][markdown-merge] |
|
|
117
|
-
| [markly-merge][markly-merge] |
|
|
118
|
-
| [prism-merge][prism-merge] |
|
|
119
|
-
| [psych-merge][psych-merge] |
|
|
120
|
-
| [rbs-merge][rbs-merge] |
|
|
121
|
-
| [toml-merge][toml-merge] |
|
|
81
|
+
| Gem | Version / CI | Language<br>/ Format | Parser Backend(s) | Description |
|
|
82
|
+
|------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------:|----------------------|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
|
83
|
+
| [tree_haver][tree_haver] | [![Version][tree_haver-gem-i]][tree_haver-gem] <br/> [![CI][tree_haver-ci-i]][tree_haver-ci] | Multi | Supported Backends: MRI C, Rust, FFI, Java, Prism, Psych, Commonmarker, Markly, Citrus, Parslet | **Foundation**: Cross-Ruby adapter for parsing libraries (like Faraday for HTTP) |
|
|
84
|
+
| [ast-merge][ast-merge] | [![Version][ast-merge-gem-i]][ast-merge-gem] <br/> [![CI][ast-merge-ci-i]][ast-merge-ci] | Text | internal | **Infrastructure**: Shared base classes and merge logic for all `*-merge` gems |
|
|
85
|
+
| [bash-merge][bash-merge] | [![Version][bash-merge-gem-i]][bash-merge-gem] <br/> [![CI][bash-merge-ci-i]][bash-merge-ci] | Bash | [tree-sitter-bash][ts-bash] (via tree_haver) | Smart merge for Bash scripts |
|
|
86
|
+
| [commonmarker-merge][commonmarker-merge] | [![Version][commonmarker-merge-gem-i]][commonmarker-merge-gem] <br/> [![CI][commonmarker-merge-ci-i]][commonmarker-merge-ci] | Markdown | [Commonmarker][commonmarker] (via tree_haver) | Smart merge for Markdown (CommonMark via comrak Rust) |
|
|
87
|
+
| [dotenv-merge][dotenv-merge] | [![Version][dotenv-merge-gem-i]][dotenv-merge-gem] <br/> [![CI][dotenv-merge-ci-i]][dotenv-merge-ci] | Dotenv | internal | Smart merge for `.env` files |
|
|
88
|
+
| [json-merge][json-merge] | [![Version][json-merge-gem-i]][json-merge-gem] <br/> [![CI][json-merge-ci-i]][json-merge-ci] | JSON | [tree-sitter-json][ts-json] (via tree_haver) | Smart merge for JSON files |
|
|
89
|
+
| [jsonc-merge][jsonc-merge] | [![Version][jsonc-merge-gem-i]][jsonc-merge-gem] <br/> [![CI][jsonc-merge-ci-i]][jsonc-merge-ci] | JSONC | [tree-sitter-jsonc][ts-jsonc] (via tree_haver) | ⚠️ Proof of concept; Smart merge for JSON with Comments |
|
|
90
|
+
| [markdown-merge][markdown-merge] | [![Version][markdown-merge-gem-i]][markdown-merge-gem] <br/> [![CI][markdown-merge-ci-i]][markdown-merge-ci] | Markdown | [Commonmarker][commonmarker] / [Markly][markly] (via tree_haver), [Parslet][parslet] | **Foundation**: Shared base for Markdown mergers with inner code block merging |
|
|
91
|
+
| [markly-merge][markly-merge] | [![Version][markly-merge-gem-i]][markly-merge-gem] <br/> [![CI][markly-merge-ci-i]][markly-merge-ci] | Markdown | [Markly][markly] (via tree_haver) | Smart merge for Markdown (CommonMark via cmark-gfm C) |
|
|
92
|
+
| [prism-merge][prism-merge] | [![Version][prism-merge-gem-i]][prism-merge-gem] <br/> [![CI][prism-merge-ci-i]][prism-merge-ci] | Ruby | [Prism][prism] (`prism` std lib gem) | Smart merge for Ruby source files |
|
|
93
|
+
| [psych-merge][psych-merge] | [![Version][psych-merge-gem-i]][psych-merge-gem] <br/> [![CI][psych-merge-ci-i]][psych-merge-ci] | YAML | [Psych][psych] (`psych` std lib gem) | Smart merge for YAML files |
|
|
94
|
+
| [rbs-merge][rbs-merge] | [![Version][rbs-merge-gem-i]][rbs-merge-gem] <br/> [![CI][rbs-merge-ci-i]][rbs-merge-ci] | RBS | [tree-sitter-bash][ts-rbs] (via tree_haver), [RBS][rbs] (`rbs` std lib gem) | Smart merge for Ruby type signatures |
|
|
95
|
+
| [toml-merge][toml-merge] | [![Version][toml-merge-gem-i]][toml-merge-gem] <br/> [![CI][toml-merge-ci-i]][toml-merge-ci] | TOML | [Parslet + toml][toml], [Citrus + toml-rb][toml-rb], [tree-sitter-toml][ts-toml] (all via tree_haver) | Smart merge for TOML files |
|
|
122
96
|
|
|
123
97
|
#### Backend Platform Compatibility
|
|
124
98
|
|
|
@@ -976,7 +950,7 @@ Thanks for RTFM. ☺️
|
|
|
976
950
|
[📌gitmoji]: https://gitmoji.dev
|
|
977
951
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
978
952
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
979
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
953
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.539-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
980
954
|
[🔐security]: SECURITY.md
|
|
981
955
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
982
956
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -13,14 +13,16 @@ module Bash
|
|
|
13
13
|
#
|
|
14
14
|
# @param template_analysis [FileAnalysis] Analyzed template file
|
|
15
15
|
# @param dest_analysis [FileAnalysis] Analyzed destination file
|
|
16
|
-
# @param preference [Symbol] Which version to prefer when
|
|
16
|
+
# @param preference [Symbol, Hash] Which version to prefer when
|
|
17
17
|
# nodes have matching signatures:
|
|
18
18
|
# - :destination (default) - Keep destination version (customizations)
|
|
19
19
|
# - :template - Use template version (updates)
|
|
20
20
|
# @param add_template_only_nodes [Boolean] Whether to add nodes only in template
|
|
21
21
|
# @param match_refiner [#call, nil] Optional match refiner for fuzzy matching
|
|
22
22
|
# @param options [Hash] Additional options for forward compatibility
|
|
23
|
-
|
|
23
|
+
# @param node_typing [Hash{Symbol,String => #call}, nil] Node typing configuration
|
|
24
|
+
# for per-node-type preferences
|
|
25
|
+
def initialize(template_analysis, dest_analysis, preference: :destination, add_template_only_nodes: false, match_refiner: nil, node_typing: nil, **options)
|
|
24
26
|
super(
|
|
25
27
|
strategy: :batch,
|
|
26
28
|
preference: preference,
|
|
@@ -30,6 +32,7 @@ module Bash
|
|
|
30
32
|
match_refiner: match_refiner,
|
|
31
33
|
**options
|
|
32
34
|
)
|
|
35
|
+
@node_typing = node_typing
|
|
33
36
|
@emitter = Emitter.new
|
|
34
37
|
end
|
|
35
38
|
|
|
@@ -98,11 +101,7 @@ module Bash
|
|
|
98
101
|
template_node = template_info[:node]
|
|
99
102
|
|
|
100
103
|
# Decide which to emit based on preference
|
|
101
|
-
|
|
102
|
-
emit_node(dest_node, @dest_analysis)
|
|
103
|
-
else
|
|
104
|
-
emit_node(template_node, @template_analysis)
|
|
105
|
-
end
|
|
104
|
+
emit_preferred_node(template_node, dest_node)
|
|
106
105
|
|
|
107
106
|
processed_dest_sigs << dest_sig
|
|
108
107
|
processed_template_sigs << dest_sig
|
|
@@ -131,6 +130,40 @@ module Bash
|
|
|
131
130
|
end
|
|
132
131
|
end
|
|
133
132
|
|
|
133
|
+
def emit_preferred_node(template_node, dest_node)
|
|
134
|
+
if preference_for_pair(template_node, dest_node) == :destination
|
|
135
|
+
emit_node(dest_node, @dest_analysis)
|
|
136
|
+
else
|
|
137
|
+
emit_node(template_node, @template_analysis)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def preference_for_pair(template_node, dest_node)
|
|
142
|
+
return @preference unless @preference.is_a?(Hash)
|
|
143
|
+
|
|
144
|
+
typed_template = apply_node_typing(template_node)
|
|
145
|
+
typed_dest = apply_node_typing(dest_node)
|
|
146
|
+
|
|
147
|
+
if Ast::Merge::NodeTyping.typed_node?(typed_template)
|
|
148
|
+
merge_type = Ast::Merge::NodeTyping.merge_type_for(typed_template)
|
|
149
|
+
return @preference.fetch(merge_type) { default_preference } if merge_type
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
if Ast::Merge::NodeTyping.typed_node?(typed_dest)
|
|
153
|
+
merge_type = Ast::Merge::NodeTyping.merge_type_for(typed_dest)
|
|
154
|
+
return @preference.fetch(merge_type) { default_preference } if merge_type
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
default_preference
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def apply_node_typing(node)
|
|
161
|
+
return node unless @node_typing
|
|
162
|
+
return node unless node
|
|
163
|
+
|
|
164
|
+
Ast::Merge::NodeTyping.process(node, @node_typing)
|
|
165
|
+
end
|
|
166
|
+
|
|
134
167
|
# Emit a single node to the emitter
|
|
135
168
|
# @param node [NodeWrapper] Node to emit
|
|
136
169
|
# @param analysis [FileAnalysis] Analysis for accessing source
|
data/lib/bash/merge/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bash-merge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -46,7 +46,7 @@ dependencies:
|
|
|
46
46
|
version: '5.0'
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: 5.0.
|
|
49
|
+
version: 5.0.5
|
|
50
50
|
type: :runtime
|
|
51
51
|
prerelease: false
|
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -56,7 +56,7 @@ dependencies:
|
|
|
56
56
|
version: '5.0'
|
|
57
57
|
- - ">="
|
|
58
58
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: 5.0.
|
|
59
|
+
version: 5.0.5
|
|
60
60
|
- !ruby/object:Gem::Dependency
|
|
61
61
|
name: ast-merge
|
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,7 +66,7 @@ dependencies:
|
|
|
66
66
|
version: '4.0'
|
|
67
67
|
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 4.0.
|
|
69
|
+
version: 4.0.6
|
|
70
70
|
type: :runtime
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
version: '4.0'
|
|
77
77
|
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: 4.0.
|
|
79
|
+
version: 4.0.6
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: version_gem
|
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -166,6 +166,9 @@ dependencies:
|
|
|
166
166
|
- - "~>"
|
|
167
167
|
- !ruby/object:Gem::Version
|
|
168
168
|
version: '3.0'
|
|
169
|
+
- - "~>"
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: 3.0.6
|
|
169
172
|
type: :development
|
|
170
173
|
prerelease: false
|
|
171
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -173,6 +176,9 @@ dependencies:
|
|
|
173
176
|
- - "~>"
|
|
174
177
|
- !ruby/object:Gem::Version
|
|
175
178
|
version: '3.0'
|
|
179
|
+
- - "~>"
|
|
180
|
+
- !ruby/object:Gem::Version
|
|
181
|
+
version: 3.0.6
|
|
176
182
|
- !ruby/object:Gem::Dependency
|
|
177
183
|
name: kettle-soup-cover
|
|
178
184
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -202,7 +208,7 @@ dependencies:
|
|
|
202
208
|
version: '1.0'
|
|
203
209
|
- - ">="
|
|
204
210
|
- !ruby/object:Gem::Version
|
|
205
|
-
version: 1.0.
|
|
211
|
+
version: 1.0.10
|
|
206
212
|
type: :development
|
|
207
213
|
prerelease: false
|
|
208
214
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -212,7 +218,7 @@ dependencies:
|
|
|
212
218
|
version: '1.0'
|
|
213
219
|
- - ">="
|
|
214
220
|
- !ruby/object:Gem::Version
|
|
215
|
-
version: 1.0.
|
|
221
|
+
version: 1.0.10
|
|
216
222
|
- !ruby/object:Gem::Dependency
|
|
217
223
|
name: ruby-progressbar
|
|
218
224
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -236,7 +242,7 @@ dependencies:
|
|
|
236
242
|
version: '1.0'
|
|
237
243
|
- - ">="
|
|
238
244
|
- !ruby/object:Gem::Version
|
|
239
|
-
version: 1.0.
|
|
245
|
+
version: 1.0.3
|
|
240
246
|
type: :development
|
|
241
247
|
prerelease: false
|
|
242
248
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -246,7 +252,7 @@ dependencies:
|
|
|
246
252
|
version: '1.0'
|
|
247
253
|
- - ">="
|
|
248
254
|
- !ruby/object:Gem::Version
|
|
249
|
-
version: 1.0.
|
|
255
|
+
version: 1.0.3
|
|
250
256
|
- !ruby/object:Gem::Dependency
|
|
251
257
|
name: gitmoji-regex
|
|
252
258
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -315,10 +321,10 @@ licenses:
|
|
|
315
321
|
- MIT
|
|
316
322
|
metadata:
|
|
317
323
|
homepage_uri: https://bash-merge.galtzo.com/
|
|
318
|
-
source_code_uri: https://github.com/kettle-rb/bash-merge/tree/v2.0.
|
|
319
|
-
changelog_uri: https://github.com/kettle-rb/bash-merge/blob/v2.0.
|
|
324
|
+
source_code_uri: https://github.com/kettle-rb/bash-merge/tree/v2.0.6
|
|
325
|
+
changelog_uri: https://github.com/kettle-rb/bash-merge/blob/v2.0.6/CHANGELOG.md
|
|
320
326
|
bug_tracker_uri: https://github.com/kettle-rb/bash-merge/issues
|
|
321
|
-
documentation_uri: https://www.rubydoc.info/gems/bash-merge/2.0.
|
|
327
|
+
documentation_uri: https://www.rubydoc.info/gems/bash-merge/2.0.6
|
|
322
328
|
funding_uri: https://github.com/sponsors/pboling
|
|
323
329
|
wiki_uri: https://github.com/kettle-rb/bash-merge/wiki
|
|
324
330
|
news_uri: https://www.railsbling.com/tags/bash-merge
|
|
@@ -347,7 +353,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
347
353
|
- !ruby/object:Gem::Version
|
|
348
354
|
version: '0'
|
|
349
355
|
requirements: []
|
|
350
|
-
rubygems_version: 4.0.
|
|
356
|
+
rubygems_version: 4.0.5
|
|
351
357
|
specification_version: 4
|
|
352
358
|
summary: "☯️ Intelligent Bash script merging using tree-sitter AST analysis"
|
|
353
359
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|