bash-merge 2.0.5 → 7.1.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
- checksums.yaml.gz.sig +0 -0
- data/LICENSE.md +13 -0
- data/README.md +105 -670
- data/lib/bash/merge/comment_tracker.rb +36 -100
- data/lib/bash/merge/debug_logger.rb +10 -10
- data/lib/bash/merge/emitter.rb +45 -33
- data/lib/bash/merge/file_analysis.rb +133 -33
- data/lib/bash/merge/freeze_node.rb +9 -9
- data/lib/bash/merge/merge_result.rb +11 -5
- data/lib/bash/merge/node_wrapper.rb +62 -36
- data/lib/bash/merge/smart_merger.rb +641 -32
- data/lib/bash/merge/version.rb +5 -4
- data/lib/bash/merge.rb +116 -25
- data/lib/bash-merge.rb +7 -1
- data/sig/bash/merge.rbs +3 -255
- data.tar.gz.sig +0 -0
- metadata +85 -84
- metadata.gz.sig +0 -0
- data/CHANGELOG.md +0 -186
- data/CITATION.cff +0 -20
- data/CODE_OF_CONDUCT.md +0 -134
- data/CONTRIBUTING.md +0 -227
- data/FUNDING.md +0 -74
- data/LICENSE.txt +0 -21
- data/REEK +0 -0
- data/RUBOCOP.md +0 -71
- data/SECURITY.md +0 -21
- data/lib/bash/merge/conflict_resolver.rb +0 -199
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:
|
|
4
|
+
version: 7.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -38,45 +38,33 @@ cert_chain:
|
|
|
38
38
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
39
39
|
dependencies:
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: ast-merge
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
|
-
- -
|
|
44
|
+
- - '='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
47
|
-
- - ">="
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: 5.0.3
|
|
46
|
+
version: 7.1.1
|
|
50
47
|
type: :runtime
|
|
51
48
|
prerelease: false
|
|
52
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
50
|
requirements:
|
|
54
|
-
- -
|
|
51
|
+
- - '='
|
|
55
52
|
- !ruby/object:Gem::Version
|
|
56
|
-
version:
|
|
57
|
-
- - ">="
|
|
58
|
-
- !ruby/object:Gem::Version
|
|
59
|
-
version: 5.0.3
|
|
53
|
+
version: 7.1.1
|
|
60
54
|
- !ruby/object:Gem::Dependency
|
|
61
|
-
name:
|
|
55
|
+
name: tree_haver
|
|
62
56
|
requirement: !ruby/object:Gem::Requirement
|
|
63
57
|
requirements:
|
|
64
|
-
- -
|
|
65
|
-
- !ruby/object:Gem::Version
|
|
66
|
-
version: '4.0'
|
|
67
|
-
- - ">="
|
|
58
|
+
- - '='
|
|
68
59
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
60
|
+
version: 7.1.1
|
|
70
61
|
type: :runtime
|
|
71
62
|
prerelease: false
|
|
72
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
64
|
requirements:
|
|
74
|
-
- -
|
|
75
|
-
- !ruby/object:Gem::Version
|
|
76
|
-
version: '4.0'
|
|
77
|
-
- - ">="
|
|
65
|
+
- - '='
|
|
78
66
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
67
|
+
version: 7.1.1
|
|
80
68
|
- !ruby/object:Gem::Dependency
|
|
81
69
|
name: version_gem
|
|
82
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,7 +74,7 @@ dependencies:
|
|
|
86
74
|
version: '1.1'
|
|
87
75
|
- - ">="
|
|
88
76
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 1.1.
|
|
77
|
+
version: 1.1.15
|
|
90
78
|
type: :runtime
|
|
91
79
|
prerelease: false
|
|
92
80
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -96,35 +84,41 @@ dependencies:
|
|
|
96
84
|
version: '1.1'
|
|
97
85
|
- - ">="
|
|
98
86
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 1.1.
|
|
87
|
+
version: 1.1.15
|
|
100
88
|
- !ruby/object:Gem::Dependency
|
|
101
89
|
name: kettle-dev
|
|
102
90
|
requirement: !ruby/object:Gem::Requirement
|
|
103
91
|
requirements:
|
|
104
92
|
- - "~>"
|
|
105
93
|
- !ruby/object:Gem::Version
|
|
106
|
-
version: '
|
|
94
|
+
version: '2.5'
|
|
95
|
+
- - ">="
|
|
96
|
+
- !ruby/object:Gem::Version
|
|
97
|
+
version: 2.5.17
|
|
107
98
|
type: :development
|
|
108
99
|
prerelease: false
|
|
109
100
|
version_requirements: !ruby/object:Gem::Requirement
|
|
110
101
|
requirements:
|
|
111
102
|
- - "~>"
|
|
112
103
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: '
|
|
104
|
+
version: '2.5'
|
|
105
|
+
- - ">="
|
|
106
|
+
- !ruby/object:Gem::Version
|
|
107
|
+
version: 2.5.17
|
|
114
108
|
- !ruby/object:Gem::Dependency
|
|
115
109
|
name: bundler-audit
|
|
116
110
|
requirement: !ruby/object:Gem::Requirement
|
|
117
111
|
requirements:
|
|
118
112
|
- - "~>"
|
|
119
113
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 0.9.
|
|
114
|
+
version: 0.9.3
|
|
121
115
|
type: :development
|
|
122
116
|
prerelease: false
|
|
123
117
|
version_requirements: !ruby/object:Gem::Requirement
|
|
124
118
|
requirements:
|
|
125
119
|
- - "~>"
|
|
126
120
|
- !ruby/object:Gem::Version
|
|
127
|
-
version: 0.9.
|
|
121
|
+
version: 0.9.3
|
|
128
122
|
- !ruby/object:Gem::Dependency
|
|
129
123
|
name: rake
|
|
130
124
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -160,59 +154,85 @@ dependencies:
|
|
|
160
154
|
- !ruby/object:Gem::Version
|
|
161
155
|
version: 1.0.4
|
|
162
156
|
- !ruby/object:Gem::Dependency
|
|
163
|
-
name:
|
|
157
|
+
name: anonymous_loader
|
|
164
158
|
requirement: !ruby/object:Gem::Requirement
|
|
165
159
|
requirements:
|
|
166
160
|
- - "~>"
|
|
167
161
|
- !ruby/object:Gem::Version
|
|
168
|
-
version: '
|
|
162
|
+
version: '0.1'
|
|
163
|
+
- - ">="
|
|
164
|
+
- !ruby/object:Gem::Version
|
|
165
|
+
version: 0.1.3
|
|
169
166
|
type: :development
|
|
170
167
|
prerelease: false
|
|
171
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
172
169
|
requirements:
|
|
173
170
|
- - "~>"
|
|
174
171
|
- !ruby/object:Gem::Version
|
|
175
|
-
version: '
|
|
172
|
+
version: '0.1'
|
|
173
|
+
- - ">="
|
|
174
|
+
- !ruby/object:Gem::Version
|
|
175
|
+
version: 0.1.3
|
|
176
176
|
- !ruby/object:Gem::Dependency
|
|
177
|
-
name:
|
|
177
|
+
name: appraisal2
|
|
178
178
|
requirement: !ruby/object:Gem::Requirement
|
|
179
179
|
requirements:
|
|
180
180
|
- - "~>"
|
|
181
181
|
- !ruby/object:Gem::Version
|
|
182
|
-
version: '
|
|
182
|
+
version: '3.2'
|
|
183
183
|
- - ">="
|
|
184
184
|
- !ruby/object:Gem::Version
|
|
185
|
-
version:
|
|
185
|
+
version: 3.2.0
|
|
186
186
|
type: :development
|
|
187
187
|
prerelease: false
|
|
188
188
|
version_requirements: !ruby/object:Gem::Requirement
|
|
189
189
|
requirements:
|
|
190
190
|
- - "~>"
|
|
191
191
|
- !ruby/object:Gem::Version
|
|
192
|
-
version: '
|
|
192
|
+
version: '3.2'
|
|
193
193
|
- - ">="
|
|
194
194
|
- !ruby/object:Gem::Version
|
|
195
|
-
version:
|
|
195
|
+
version: 3.2.0
|
|
196
196
|
- !ruby/object:Gem::Dependency
|
|
197
197
|
name: kettle-test
|
|
198
198
|
requirement: !ruby/object:Gem::Requirement
|
|
199
199
|
requirements:
|
|
200
200
|
- - "~>"
|
|
201
201
|
- !ruby/object:Gem::Version
|
|
202
|
-
version: '
|
|
202
|
+
version: '2.0'
|
|
203
203
|
- - ">="
|
|
204
204
|
- !ruby/object:Gem::Version
|
|
205
|
-
version:
|
|
205
|
+
version: 2.0.19
|
|
206
206
|
type: :development
|
|
207
207
|
prerelease: false
|
|
208
208
|
version_requirements: !ruby/object:Gem::Requirement
|
|
209
209
|
requirements:
|
|
210
210
|
- - "~>"
|
|
211
211
|
- !ruby/object:Gem::Version
|
|
212
|
-
version: '
|
|
212
|
+
version: '2.0'
|
|
213
213
|
- - ">="
|
|
214
214
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
215
|
+
version: 2.0.19
|
|
216
|
+
- !ruby/object:Gem::Dependency
|
|
217
|
+
name: turbo_tests2
|
|
218
|
+
requirement: !ruby/object:Gem::Requirement
|
|
219
|
+
requirements:
|
|
220
|
+
- - "~>"
|
|
221
|
+
- !ruby/object:Gem::Version
|
|
222
|
+
version: '3.2'
|
|
223
|
+
- - ">="
|
|
224
|
+
- !ruby/object:Gem::Version
|
|
225
|
+
version: 3.2.4
|
|
226
|
+
type: :development
|
|
227
|
+
prerelease: false
|
|
228
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
229
|
+
requirements:
|
|
230
|
+
- - "~>"
|
|
231
|
+
- !ruby/object:Gem::Version
|
|
232
|
+
version: '3.2'
|
|
233
|
+
- - ">="
|
|
234
|
+
- !ruby/object:Gem::Version
|
|
235
|
+
version: 3.2.4
|
|
216
236
|
- !ruby/object:Gem::Dependency
|
|
217
237
|
name: ruby-progressbar
|
|
218
238
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -236,7 +256,7 @@ dependencies:
|
|
|
236
256
|
version: '1.0'
|
|
237
257
|
- - ">="
|
|
238
258
|
- !ruby/object:Gem::Version
|
|
239
|
-
version: 1.0.
|
|
259
|
+
version: 1.0.8
|
|
240
260
|
type: :development
|
|
241
261
|
prerelease: false
|
|
242
262
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -246,61 +266,40 @@ dependencies:
|
|
|
246
266
|
version: '1.0'
|
|
247
267
|
- - ">="
|
|
248
268
|
- !ruby/object:Gem::Version
|
|
249
|
-
version: 1.0.
|
|
269
|
+
version: 1.0.8
|
|
250
270
|
- !ruby/object:Gem::Dependency
|
|
251
271
|
name: gitmoji-regex
|
|
252
272
|
requirement: !ruby/object:Gem::Requirement
|
|
253
273
|
requirements:
|
|
254
274
|
- - "~>"
|
|
255
275
|
- !ruby/object:Gem::Version
|
|
256
|
-
version: '
|
|
276
|
+
version: '2.0'
|
|
257
277
|
- - ">="
|
|
258
278
|
- !ruby/object:Gem::Version
|
|
259
|
-
version:
|
|
279
|
+
version: 2.0.11
|
|
260
280
|
type: :development
|
|
261
281
|
prerelease: false
|
|
262
282
|
version_requirements: !ruby/object:Gem::Requirement
|
|
263
283
|
requirements:
|
|
264
284
|
- - "~>"
|
|
265
285
|
- !ruby/object:Gem::Version
|
|
266
|
-
version: '
|
|
286
|
+
version: '2.0'
|
|
267
287
|
- - ">="
|
|
268
288
|
- !ruby/object:Gem::Version
|
|
269
|
-
version:
|
|
270
|
-
description: "☯️ Bash
|
|
271
|
-
|
|
272
|
-
content. Perfect for merging configuration scripts and shell templates with customized
|
|
273
|
-
destination files."
|
|
289
|
+
version: 2.0.11
|
|
290
|
+
description: "☯️ Bash statement, comment, freeze-block, and template merge behavior
|
|
291
|
+
for Structured Merge."
|
|
274
292
|
email:
|
|
275
293
|
- floss@galtzo.com
|
|
276
294
|
executables: []
|
|
277
295
|
extensions: []
|
|
278
|
-
extra_rdoc_files:
|
|
279
|
-
- CHANGELOG.md
|
|
280
|
-
- CITATION.cff
|
|
281
|
-
- CODE_OF_CONDUCT.md
|
|
282
|
-
- CONTRIBUTING.md
|
|
283
|
-
- FUNDING.md
|
|
284
|
-
- LICENSE.txt
|
|
285
|
-
- README.md
|
|
286
|
-
- REEK
|
|
287
|
-
- RUBOCOP.md
|
|
288
|
-
- SECURITY.md
|
|
296
|
+
extra_rdoc_files: []
|
|
289
297
|
files:
|
|
290
|
-
-
|
|
291
|
-
- CITATION.cff
|
|
292
|
-
- CODE_OF_CONDUCT.md
|
|
293
|
-
- CONTRIBUTING.md
|
|
294
|
-
- FUNDING.md
|
|
295
|
-
- LICENSE.txt
|
|
298
|
+
- LICENSE.md
|
|
296
299
|
- README.md
|
|
297
|
-
- REEK
|
|
298
|
-
- RUBOCOP.md
|
|
299
|
-
- SECURITY.md
|
|
300
300
|
- lib/bash-merge.rb
|
|
301
301
|
- lib/bash/merge.rb
|
|
302
302
|
- lib/bash/merge/comment_tracker.rb
|
|
303
|
-
- lib/bash/merge/conflict_resolver.rb
|
|
304
303
|
- lib/bash/merge/debug_logger.rb
|
|
305
304
|
- lib/bash/merge/emitter.rb
|
|
306
305
|
- lib/bash/merge/file_analysis.rb
|
|
@@ -310,23 +309,25 @@ files:
|
|
|
310
309
|
- lib/bash/merge/smart_merger.rb
|
|
311
310
|
- lib/bash/merge/version.rb
|
|
312
311
|
- sig/bash/merge.rbs
|
|
313
|
-
homepage: https://github.com/
|
|
312
|
+
homepage: https://github.com/structuredmerge/structuredmerge-ruby
|
|
314
313
|
licenses:
|
|
315
|
-
-
|
|
314
|
+
- AGPL-3.0-only
|
|
315
|
+
- PolyForm-Small-Business-1.0.0
|
|
316
316
|
metadata:
|
|
317
|
-
homepage_uri: https://
|
|
318
|
-
source_code_uri: https://github.com/
|
|
319
|
-
changelog_uri: https://github.com/
|
|
320
|
-
bug_tracker_uri: https://github.com/
|
|
321
|
-
documentation_uri: https://www.rubydoc.info/gems/bash-merge/
|
|
317
|
+
homepage_uri: https://structuredmerge.org
|
|
318
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.1
|
|
319
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.1/CHANGELOG.md
|
|
320
|
+
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
321
|
+
documentation_uri: https://www.rubydoc.info/gems/bash-merge/7.1.1
|
|
322
322
|
funding_uri: https://github.com/sponsors/pboling
|
|
323
|
-
wiki_uri: https://github.com/
|
|
323
|
+
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
324
324
|
news_uri: https://www.railsbling.com/tags/bash-merge
|
|
325
325
|
discord_uri: https://discord.gg/3qme4XHNKN
|
|
326
|
+
mailing_list_uri: https://www.rubyforum.org/tag/structuredmerge
|
|
326
327
|
rubygems_mfa_required: 'true'
|
|
327
328
|
rdoc_options:
|
|
328
329
|
- "--title"
|
|
329
|
-
- bash-merge - ☯️
|
|
330
|
+
- bash-merge - ☯️ Structured Merge Bash analysis and merge for Ruby
|
|
330
331
|
- "--main"
|
|
331
332
|
- README.md
|
|
332
333
|
- "--exclude"
|
|
@@ -340,14 +341,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
340
341
|
requirements:
|
|
341
342
|
- - ">="
|
|
342
343
|
- !ruby/object:Gem::Version
|
|
343
|
-
version:
|
|
344
|
+
version: 4.0.0
|
|
344
345
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
345
346
|
requirements:
|
|
346
347
|
- - ">="
|
|
347
348
|
- !ruby/object:Gem::Version
|
|
348
349
|
version: '0'
|
|
349
350
|
requirements: []
|
|
350
|
-
rubygems_version: 4.0.
|
|
351
|
+
rubygems_version: 4.0.17
|
|
351
352
|
specification_version: 4
|
|
352
|
-
summary: "☯️
|
|
353
|
+
summary: "☯️ Structured Merge Bash analysis and merge for Ruby"
|
|
353
354
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
[![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
|
|
4
|
-
|
|
5
|
-
All notable changes to this project will be documented in this file.
|
|
6
|
-
|
|
7
|
-
The format is based on [Keep a Changelog][📗keep-changelog],
|
|
8
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|
9
|
-
and [yes][📌major-versions-not-sacred], platform and engine support are part of the [public API][📌semver-breaking].
|
|
10
|
-
Please file a bug if you notice a violation of semantic versioning.
|
|
11
|
-
|
|
12
|
-
[📌semver]: https://semver.org/spec/v2.0.0.html
|
|
13
|
-
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
|
|
14
|
-
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
15
|
-
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
16
|
-
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
17
|
-
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
|
18
|
-
|
|
19
|
-
## [Unreleased]
|
|
20
|
-
|
|
21
|
-
### Added
|
|
22
|
-
|
|
23
|
-
### Changed
|
|
24
|
-
|
|
25
|
-
### Deprecated
|
|
26
|
-
|
|
27
|
-
### Removed
|
|
28
|
-
|
|
29
|
-
### Fixed
|
|
30
|
-
|
|
31
|
-
### Security
|
|
32
|
-
|
|
33
|
-
## [2.0.5] - 2026-02-01
|
|
34
|
-
|
|
35
|
-
- TAG: [v2.0.5][2.0.5t]
|
|
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
|
-
- ConflictResolver now applies per-node-type preferences via `node_typing`.
|
|
43
|
-
|
|
44
|
-
### Changed
|
|
45
|
-
|
|
46
|
-
- tree_haver v5.0.3
|
|
47
|
-
- ast-merge v4.0.5
|
|
48
|
-
|
|
49
|
-
## [2.0.4] - 2026-01-20
|
|
50
|
-
|
|
51
|
-
- TAG: [v2.0.4][2.0.4t]
|
|
52
|
-
- COVERAGE: 100.00% -- 25/25 lines in 1 files
|
|
53
|
-
- BRANCH COVERAGE: 100.00% -- 4/4 branches in 1 files
|
|
54
|
-
- 96.33% documented
|
|
55
|
-
|
|
56
|
-
### Changed
|
|
57
|
-
|
|
58
|
-
- Upgrade to [ast-merge v4.0.3](https://github.com/kettle-rb/ast-merge/releases/tag/v4.0.3)
|
|
59
|
-
- Upgrade to [tree_haver v5.0.2](https://github.com/kettle-rb/tree_haver/releases/tag/v5.0.2)
|
|
60
|
-
|
|
61
|
-
## [2.0.3] - 2026-01-11
|
|
62
|
-
|
|
63
|
-
- TAG: [v2.0.3][2.0.3t]
|
|
64
|
-
- COVERAGE: 96.16% -- 501/521 lines in 11 files
|
|
65
|
-
- BRANCH COVERAGE: 76.22% -- 125/164 branches in 11 files
|
|
66
|
-
- 96.33% documented
|
|
67
|
-
|
|
68
|
-
### Changed
|
|
69
|
-
|
|
70
|
-
- ast-merge v4.0.2
|
|
71
|
-
- tree_haver v5.0.1
|
|
72
|
-
|
|
73
|
-
## [2.0.2] - 2026-01-09
|
|
74
|
-
|
|
75
|
-
- TAG: [v2.0.2][2.0.2t]
|
|
76
|
-
- COVERAGE: 96.34% -- 500/519 lines in 11 files
|
|
77
|
-
- BRANCH COVERAGE: 76.54% -- 124/162 branches in 11 files
|
|
78
|
-
- 96.33% documented
|
|
79
|
-
|
|
80
|
-
### Changed
|
|
81
|
-
|
|
82
|
-
- tree_haver v4.0.5
|
|
83
|
-
- FFI Backend improvements
|
|
84
|
-
- Error handling improvements
|
|
85
|
-
- Improved GHA workflows & rake tasks
|
|
86
|
-
- **Simplified dependency_tags.rb**: Removed redundant debug code
|
|
87
|
-
- Removed `BASH_MERGE_DEBUG` env var handling (use `TREE_HAVER_DEBUG` instead)
|
|
88
|
-
- tree_haver's debug output now respects blocked backends via `compute_blocked_backends`
|
|
89
|
-
- Avoids accidentally loading MRI backend during FFI-only test runs
|
|
90
|
-
|
|
91
|
-
## [2.0.1] - 2026-01-09
|
|
92
|
-
|
|
93
|
-
- TAG: [v2.0.1][2.0.1t]
|
|
94
|
-
- COVERAGE: 96.34% -- 500/519 lines in 11 files
|
|
95
|
-
- BRANCH COVERAGE: 76.54% -- 124/162 branches in 11 files
|
|
96
|
-
- 96.33% documented
|
|
97
|
-
|
|
98
|
-
### Added
|
|
99
|
-
|
|
100
|
-
- FFI backend isolation for test suite
|
|
101
|
-
- Added `bin/rspec-ffi` script to run FFI specs in isolation (before MRI backend loads)
|
|
102
|
-
- Added `spec/spec_ffi_helper.rb` for FFI-specific test configuration
|
|
103
|
-
- Updated Rakefile with `ffi_specs` and `remaining_specs` tasks
|
|
104
|
-
- The `:test` task now runs FFI specs first, then remaining specs
|
|
105
|
-
- Emitter-based output
|
|
106
|
-
|
|
107
|
-
### Changed
|
|
108
|
-
|
|
109
|
-
- ast-merge v3.1.0, adds Ast::Merge::EmitterBase
|
|
110
|
-
- tree_haver v4.0.4, adds error handling for FFI backend
|
|
111
|
-
- major spec refactor
|
|
112
|
-
|
|
113
|
-
## [2.0.0] - 2026-01-06
|
|
114
|
-
|
|
115
|
-
- TAG: [v2.0.0][2.0.0t]
|
|
116
|
-
- COVERAGE: 100.00% -- 109/109 lines in 2 files
|
|
117
|
-
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
|
|
118
|
-
- 96.46% documented
|
|
119
|
-
|
|
120
|
-
### Changed
|
|
121
|
-
|
|
122
|
-
- ast-merge v3.0.0 compatibility (breaking changes)
|
|
123
|
-
|
|
124
|
-
## [1.0.2] - 2026-01-02
|
|
125
|
-
|
|
126
|
-
- TAG: [v1.0.2][1.0.2t]
|
|
127
|
-
- COVERAGE: 100.00% -- 109/109 lines in 2 files
|
|
128
|
-
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
|
|
129
|
-
- 96.46% documented
|
|
130
|
-
|
|
131
|
-
### Removed
|
|
132
|
-
|
|
133
|
-
- **Load-time grammar registration** - TreeHaver's `parser_for` now handles grammar discovery
|
|
134
|
-
and registration automatically. Removed manual `GrammarFinder` calls and warnings from
|
|
135
|
-
`lib/bash/merge.rb`.
|
|
136
|
-
|
|
137
|
-
## [1.0.1] - 2026-01-01
|
|
138
|
-
|
|
139
|
-
- TAG: [v1.0.1][1.0.1t]
|
|
140
|
-
- COVERAGE: 100.00% -- 109/109 lines in 2 files
|
|
141
|
-
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
|
|
142
|
-
- 96.46% documented
|
|
143
|
-
|
|
144
|
-
### Changed
|
|
145
|
-
|
|
146
|
-
- **NodeWrapper**: Now inherits from `Ast::Merge::NodeWrapperBase`
|
|
147
|
-
- Removes ~100 lines of duplicated code (initialization, line extraction, basic methods)
|
|
148
|
-
- Keeps only Bash-specific type predicates and signature computation
|
|
149
|
-
- Adds `#node_wrapper?` method for distinguishing from `NodeTyping::Wrapper`
|
|
150
|
-
- **FileAnalysis error handling**: Now rescues `TreeHaver::Error` instead of `TreeHaver::NotAvailable`
|
|
151
|
-
- `TreeHaver::Error` inherits from `Exception`, not `StandardError`
|
|
152
|
-
- `TreeHaver::NotAvailable` is a subclass of `TreeHaver::Error`, so it's also caught
|
|
153
|
-
- Fixes parse error handling on alternative Ruby engines
|
|
154
|
-
|
|
155
|
-
## [1.0.0] - 2026-01-01
|
|
156
|
-
|
|
157
|
-
- TAG: [v1.0.0][1.0.0t]
|
|
158
|
-
- COVERAGE: 100.00% -- 109/109 lines in 2 files
|
|
159
|
-
- BRANCH COVERAGE: 100.00% -- 28/28 branches in 2 files
|
|
160
|
-
- 96.90% documented
|
|
161
|
-
|
|
162
|
-
### Added
|
|
163
|
-
|
|
164
|
-
- Initial release
|
|
165
|
-
|
|
166
|
-
### Security
|
|
167
|
-
|
|
168
|
-
[Unreleased]: https://github.com/kettle-rb/bash-merge/compare/v2.0.5...HEAD
|
|
169
|
-
[2.0.5]: https://github.com/kettle-rb/bash-merge/compare/v2.0.4...v2.0.5
|
|
170
|
-
[2.0.5t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.5
|
|
171
|
-
[2.0.4]: https://github.com/kettle-rb/bash-merge/compare/v2.0.3...v2.0.4
|
|
172
|
-
[2.0.4t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.4
|
|
173
|
-
[2.0.3]: https://github.com/kettle-rb/bash-merge/compare/v2.0.2...v2.0.3
|
|
174
|
-
[2.0.3t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.3
|
|
175
|
-
[2.0.2]: https://github.com/kettle-rb/bash-merge/compare/v2.0.1...v2.0.2
|
|
176
|
-
[2.0.2t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.2
|
|
177
|
-
[2.0.1]: https://github.com/kettle-rb/bash-merge/compare/v2.0.0...v2.0.1
|
|
178
|
-
[2.0.1t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.1
|
|
179
|
-
[2.0.0]: https://github.com/kettle-rb/bash-merge/compare/v1.0.2...v2.0.0
|
|
180
|
-
[2.0.0t]: https://github.com/kettle-rb/bash-merge/releases/tag/v2.0.0
|
|
181
|
-
[1.0.2]: https://github.com/kettle-rb/bash-merge/compare/v1.0.1...v1.0.2
|
|
182
|
-
[1.0.2t]: https://github.com/kettle-rb/bash-merge/releases/tag/v1.0.2
|
|
183
|
-
[1.0.1]: https://github.com/kettle-rb/bash-merge/compare/v1.0.0...v1.0.1
|
|
184
|
-
[1.0.1t]: https://github.com/kettle-rb/bash-merge/releases/tag/v1.0.1
|
|
185
|
-
[1.0.0]: https://github.com/kettle-rb/bash-merge/compare/db525d5aedd0c895422a067629118f3fa9c3c22d...v1.0.0
|
|
186
|
-
[1.0.0t]: https://github.com/kettle-rb/bash-merge/tags/v1.0.0
|
data/CITATION.cff
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
cff-version: 1.2.0
|
|
2
|
-
title: bash-merge
|
|
3
|
-
message: >-
|
|
4
|
-
If you use this work and you want to cite it,
|
|
5
|
-
then you can use the metadata from this file.
|
|
6
|
-
type: software
|
|
7
|
-
authors:
|
|
8
|
-
- given-names: Peter Hurn
|
|
9
|
-
family-names: Boling
|
|
10
|
-
email: peter@railsbling.com
|
|
11
|
-
affiliation: railsbling.com
|
|
12
|
-
orcid: 'https://orcid.org/0009-0008-8519-441X'
|
|
13
|
-
identifiers:
|
|
14
|
-
- type: url
|
|
15
|
-
value: 'https://github.com/kettle-rb/bash-merge'
|
|
16
|
-
description: bash-merge
|
|
17
|
-
repository-code: 'https://github.com/kettle-rb/bash-merge'
|
|
18
|
-
abstract: >-
|
|
19
|
-
bash-merge
|
|
20
|
-
license: See license file
|
data/CODE_OF_CONDUCT.md
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
# Contributor Covenant Code of Conduct
|
|
2
|
-
|
|
3
|
-
## Our Pledge
|
|
4
|
-
|
|
5
|
-
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
-
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
-
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
-
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
-
nationality, personal appearance, race, caste, color, religion, or sexual
|
|
10
|
-
identity and orientation.
|
|
11
|
-
|
|
12
|
-
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
13
|
-
diverse, inclusive, and healthy community.
|
|
14
|
-
|
|
15
|
-
## Our Standards
|
|
16
|
-
|
|
17
|
-
Examples of behavior that contributes to a positive environment for our
|
|
18
|
-
community include:
|
|
19
|
-
|
|
20
|
-
* Demonstrating empathy and kindness toward other people
|
|
21
|
-
* Being respectful of differing opinions, viewpoints, and experiences
|
|
22
|
-
* Giving and gracefully accepting constructive feedback
|
|
23
|
-
* Accepting responsibility and apologizing to those affected by our mistakes,
|
|
24
|
-
and learning from the experience
|
|
25
|
-
* Focusing on what is best not just for us as individuals, but for the overall
|
|
26
|
-
community
|
|
27
|
-
|
|
28
|
-
Examples of unacceptable behavior include:
|
|
29
|
-
|
|
30
|
-
* The use of sexualized language or imagery, and sexual attention or advances of
|
|
31
|
-
any kind
|
|
32
|
-
* Trolling, insulting or derogatory comments, and personal or political attacks
|
|
33
|
-
* Public or private harassment
|
|
34
|
-
* Publishing others' private information, such as a physical or email address,
|
|
35
|
-
without their explicit permission
|
|
36
|
-
* Other conduct which could reasonably be considered inappropriate in a
|
|
37
|
-
professional setting
|
|
38
|
-
|
|
39
|
-
## Enforcement Responsibilities
|
|
40
|
-
|
|
41
|
-
Community leaders are responsible for clarifying and enforcing our standards of
|
|
42
|
-
acceptable behavior and will take appropriate and fair corrective action in
|
|
43
|
-
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
44
|
-
or harmful.
|
|
45
|
-
|
|
46
|
-
Community leaders have the right and responsibility to remove, edit, or reject
|
|
47
|
-
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
48
|
-
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
|
49
|
-
decisions when appropriate.
|
|
50
|
-
|
|
51
|
-
## Scope
|
|
52
|
-
|
|
53
|
-
This Code of Conduct applies within all community spaces, and also applies when
|
|
54
|
-
an individual is officially representing the community in public spaces.
|
|
55
|
-
Examples of representing our community include using an official email address,
|
|
56
|
-
posting via an official social media account, or acting as an appointed
|
|
57
|
-
representative at an online or offline event.
|
|
58
|
-
|
|
59
|
-
## Enforcement
|
|
60
|
-
|
|
61
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
62
|
-
reported to the community leaders responsible for enforcement at
|
|
63
|
-
[![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact].
|
|
64
|
-
All complaints will be reviewed and investigated promptly and fairly.
|
|
65
|
-
|
|
66
|
-
All community leaders are obligated to respect the privacy and security of the
|
|
67
|
-
reporter of any incident.
|
|
68
|
-
|
|
69
|
-
## Enforcement Guidelines
|
|
70
|
-
|
|
71
|
-
Community leaders will follow these Community Impact Guidelines in determining
|
|
72
|
-
the consequences for any action they deem in violation of this Code of Conduct:
|
|
73
|
-
|
|
74
|
-
### 1. Correction
|
|
75
|
-
|
|
76
|
-
**Community Impact**: Use of inappropriate language or other behavior deemed
|
|
77
|
-
unprofessional or unwelcome in the community.
|
|
78
|
-
|
|
79
|
-
**Consequence**: A private, written warning from community leaders, providing
|
|
80
|
-
clarity around the nature of the violation and an explanation of why the
|
|
81
|
-
behavior was inappropriate. A public apology may be requested.
|
|
82
|
-
|
|
83
|
-
### 2. Warning
|
|
84
|
-
|
|
85
|
-
**Community Impact**: A violation through a single incident or series of
|
|
86
|
-
actions.
|
|
87
|
-
|
|
88
|
-
**Consequence**: A warning with consequences for continued behavior. No
|
|
89
|
-
interaction with the people involved, including unsolicited interaction with
|
|
90
|
-
those enforcing the Code of Conduct, for a specified period of time. This
|
|
91
|
-
includes avoiding interactions in community spaces as well as external channels
|
|
92
|
-
like social media. Violating these terms may lead to a temporary or permanent
|
|
93
|
-
ban.
|
|
94
|
-
|
|
95
|
-
### 3. Temporary Ban
|
|
96
|
-
|
|
97
|
-
**Community Impact**: A serious violation of community standards, including
|
|
98
|
-
sustained inappropriate behavior.
|
|
99
|
-
|
|
100
|
-
**Consequence**: A temporary ban from any sort of interaction or public
|
|
101
|
-
communication with the community for a specified period of time. No public or
|
|
102
|
-
private interaction with the people involved, including unsolicited interaction
|
|
103
|
-
with those enforcing the Code of Conduct, is allowed during this period.
|
|
104
|
-
Violating these terms may lead to a permanent ban.
|
|
105
|
-
|
|
106
|
-
### 4. Permanent Ban
|
|
107
|
-
|
|
108
|
-
**Community Impact**: Demonstrating a pattern of violation of community
|
|
109
|
-
standards, including sustained inappropriate behavior, harassment of an
|
|
110
|
-
individual, or aggression toward or disparagement of classes of individuals.
|
|
111
|
-
|
|
112
|
-
**Consequence**: A permanent ban from any sort of public interaction within the
|
|
113
|
-
community.
|
|
114
|
-
|
|
115
|
-
## Attribution
|
|
116
|
-
|
|
117
|
-
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
118
|
-
version 2.1, available at
|
|
119
|
-
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
|
|
120
|
-
|
|
121
|
-
Community Impact Guidelines were inspired by
|
|
122
|
-
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
|
|
123
|
-
|
|
124
|
-
For answers to common questions about this code of conduct, see the FAQ at
|
|
125
|
-
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
|
|
126
|
-
[https://www.contributor-covenant.org/translations][translations].
|
|
127
|
-
|
|
128
|
-
[homepage]: https://www.contributor-covenant.org
|
|
129
|
-
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
|
|
130
|
-
[Mozilla CoC]: https://github.com/mozilla/diversity
|
|
131
|
-
[FAQ]: https://www.contributor-covenant.org/faq
|
|
132
|
-
[translations]: https://www.contributor-covenant.org/translations
|
|
133
|
-
[🚂maint-contact]: http://www.railsbling.com/contact
|
|
134
|
-
[🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
|