smorg-rb 7.1.3 → 7.1.4
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/README.md +1 -1
- data/lib/smorg/rb/version.rb +1 -1
- data/lib/smorg/rb.rb +188 -332
- data.tar.gz.sig +0 -0
- metadata +58 -58
- 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: 12f587107d9a170feee761ed0191d98959c214d4507ea7d7212256947760ccea
|
|
4
|
+
data.tar.gz: deb44e4aaa799376879ec3d0f1183a55707529f5ac01420344733e6836e0c9ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a0b5b8de7fad58ef0489c375fd2010f32f2031a25363c1ee28ee0a77a0827cf87d2852212cd57f91a4bd552b04ce001297fd4a67defe770b2481528a1f4c534d
|
|
7
|
+
data.tar.gz: 448d2f9ad40cb86205f60f9d00e938b001c0595d6d12f654a51fab5cd02aabd07c75d2ad4412d50a69bc9a604fa5dd6f57a7d73e48dae7283d9183edc6fa204c
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/README.md
CHANGED
|
@@ -253,7 +253,7 @@ If none of the available licenses suit your use case, please [contact us](mailto
|
|
|
253
253
|
[📌gitmoji]: https://gitmoji.dev
|
|
254
254
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
255
255
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
256
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.
|
|
256
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.460-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
257
257
|
[🔐security]: https://github.com/structuredmerge/structuredmerge-ruby/blob/main/SECURITY.md
|
|
258
258
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
259
259
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
data/lib/smorg/rb/version.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Smorg
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = '7.1.
|
|
8
|
+
VERSION = '7.1.4'
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data/lib/smorg/rb.rb
CHANGED
|
@@ -16,14 +16,14 @@ require 'kettle/jem/tasks/install_task'
|
|
|
16
16
|
require 'markdown/merge'
|
|
17
17
|
require 'plain-merge'
|
|
18
18
|
require 'rbs/merge'
|
|
19
|
-
require 'ruby/merge'
|
|
20
19
|
require 'toml/merge'
|
|
21
20
|
require 'typescript/merge'
|
|
22
|
-
require '
|
|
21
|
+
require 'prism/merge'
|
|
22
|
+
require 'psych/merge'
|
|
23
23
|
require_relative 'rb/version'
|
|
24
24
|
|
|
25
25
|
module Smorg
|
|
26
|
-
module RB
|
|
26
|
+
module RB # rubocop:disable Metrics/ModuleLength
|
|
27
27
|
EXIT_SUCCESS = 0
|
|
28
28
|
EXIT_UNRESOLVED_CONFLICT = 1
|
|
29
29
|
EXIT_USER_ERROR = 2
|
|
@@ -668,216 +668,73 @@ module Smorg
|
|
|
668
668
|
EXIT_SUCCESS
|
|
669
669
|
end
|
|
670
670
|
|
|
671
|
+
MERGE_PROVIDER_OPTIONS = {
|
|
672
|
+
'bash' => {
|
|
673
|
+
provider_id: 'ruby.bash', family: 'bash', dialect: 'bash', backend: 'kreuzberg-language-pack'
|
|
674
|
+
},
|
|
675
|
+
'go' => {
|
|
676
|
+
provider_id: 'ruby.go', family: 'go', dialect: 'go', backend: 'kreuzberg-language-pack'
|
|
677
|
+
},
|
|
678
|
+
'html' => {
|
|
679
|
+
provider_id: 'ruby.html', family: 'html', dialect: 'html', backend: 'kreuzberg-language-pack'
|
|
680
|
+
},
|
|
681
|
+
'dotenv' => { family: 'dotenv', dialect: 'dotenv', backend: 'dotenv-line' },
|
|
682
|
+
'json' => { family: 'json', dialect: 'json' },
|
|
683
|
+
'jsonc' => { family: 'json', dialect: 'jsonc' },
|
|
684
|
+
'json5' => { family: 'json', dialect: 'json5' },
|
|
685
|
+
'markdown' => {
|
|
686
|
+
provider_id: 'ruby.markdown', family: 'markdown', dialect: 'markdown', backend: 'kreuzberg-language-pack'
|
|
687
|
+
},
|
|
688
|
+
'ruby' => { family: 'ruby', dialect: 'ruby', backend: 'prism' },
|
|
689
|
+
'rbs' => { provider_id: 'ruby.rbs', family: 'rbs', dialect: 'rbs', backend: 'rbs' },
|
|
690
|
+
'rust' => {
|
|
691
|
+
provider_id: 'ruby.rust', family: 'rust', dialect: 'rust', backend: 'kreuzberg-language-pack'
|
|
692
|
+
},
|
|
693
|
+
'toml' => {
|
|
694
|
+
provider_id: 'ruby.toml', family: 'toml', dialect: 'toml', backend: 'kreuzberg-language-pack'
|
|
695
|
+
},
|
|
696
|
+
'typescript' => {
|
|
697
|
+
provider_id: 'ruby.typescript', family: 'typescript', dialect: 'typescript',
|
|
698
|
+
backend: 'kreuzberg-language-pack'
|
|
699
|
+
},
|
|
700
|
+
'tsx' => {
|
|
701
|
+
provider_id: 'ruby.typescript', family: 'typescript', dialect: 'tsx', backend: 'kreuzberg-language-pack'
|
|
702
|
+
},
|
|
703
|
+
'yaml' => { provider_id: 'ruby.yaml.psych', family: 'yaml', dialect: 'yaml', backend: 'psych' },
|
|
704
|
+
'text' => { family: 'text', dialect: 'text', profile_id: 'coarse_document' }
|
|
705
|
+
}.freeze
|
|
706
|
+
|
|
671
707
|
def merge_by_path(path_name, language, conflict_marker_size, fallback_policy, ancestor_source, current_source,
|
|
672
708
|
other_source)
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
backend: 'kreuzberg-language-pack',
|
|
701
|
-
profile_id: 'source_preserving',
|
|
702
|
-
fallback_policy: fallback_policy,
|
|
703
|
-
conflict_marker_size: conflict_marker_size
|
|
704
|
-
)
|
|
705
|
-
)
|
|
706
|
-
when 'html'
|
|
707
|
-
merge3_result(
|
|
708
|
-
Ast::Merge::Git.merge3(
|
|
709
|
-
base_source: ancestor_source,
|
|
710
|
-
ours_source: current_source,
|
|
711
|
-
theirs_source: other_source,
|
|
712
|
-
path_name: path_name,
|
|
713
|
-
provider_id: 'ruby.html',
|
|
714
|
-
family: 'html',
|
|
715
|
-
dialect: 'html',
|
|
716
|
-
backend: 'kreuzberg-language-pack',
|
|
717
|
-
profile_id: 'source_preserving',
|
|
718
|
-
fallback_policy: fallback_policy,
|
|
719
|
-
conflict_marker_size: conflict_marker_size
|
|
720
|
-
)
|
|
721
|
-
)
|
|
722
|
-
when 'dotenv'
|
|
723
|
-
merge3_result(
|
|
724
|
-
Ast::Merge::Git.merge3(
|
|
725
|
-
base_source: ancestor_source,
|
|
726
|
-
ours_source: current_source,
|
|
727
|
-
theirs_source: other_source,
|
|
728
|
-
path_name: path_name,
|
|
729
|
-
family: 'dotenv',
|
|
730
|
-
dialect: 'dotenv',
|
|
731
|
-
backend: 'dotenv-line',
|
|
732
|
-
profile_id: 'source_preserving',
|
|
733
|
-
fallback_policy: fallback_policy,
|
|
734
|
-
conflict_marker_size: conflict_marker_size
|
|
735
|
-
)
|
|
736
|
-
)
|
|
737
|
-
when 'json', 'jsonc', 'json5'
|
|
738
|
-
merge3_result(
|
|
739
|
-
Ast::Merge::Git.merge3(
|
|
740
|
-
base_source: ancestor_source,
|
|
741
|
-
ours_source: current_source,
|
|
742
|
-
theirs_source: other_source,
|
|
743
|
-
path_name: path_name,
|
|
744
|
-
family: 'json',
|
|
745
|
-
dialect: normalize_language(language, path_name),
|
|
746
|
-
profile_id: 'source_preserving',
|
|
747
|
-
fallback_policy: fallback_policy,
|
|
748
|
-
conflict_marker_size: conflict_marker_size
|
|
749
|
-
)
|
|
750
|
-
)
|
|
751
|
-
when 'markdown'
|
|
752
|
-
merge3_result(
|
|
753
|
-
Ast::Merge::Git.merge3(
|
|
754
|
-
base_source: ancestor_source,
|
|
755
|
-
ours_source: current_source,
|
|
756
|
-
theirs_source: other_source,
|
|
757
|
-
path_name: path_name,
|
|
758
|
-
provider_id: 'ruby.markdown',
|
|
759
|
-
family: 'markdown',
|
|
760
|
-
dialect: 'markdown',
|
|
761
|
-
backend: 'kreuzberg-language-pack',
|
|
762
|
-
profile_id: 'source_preserving',
|
|
763
|
-
fallback_policy: fallback_policy,
|
|
764
|
-
conflict_marker_size: conflict_marker_size
|
|
765
|
-
)
|
|
766
|
-
)
|
|
767
|
-
when 'ruby'
|
|
768
|
-
merge3_result(
|
|
769
|
-
Ast::Merge::Git.merge3(
|
|
770
|
-
base_source: ancestor_source,
|
|
771
|
-
ours_source: current_source,
|
|
772
|
-
theirs_source: other_source,
|
|
773
|
-
path_name: path_name,
|
|
774
|
-
provider_id: 'ruby.ruby',
|
|
775
|
-
family: 'ruby',
|
|
776
|
-
dialect: 'ruby',
|
|
777
|
-
backend: 'prism',
|
|
778
|
-
profile_id: 'source_preserving',
|
|
779
|
-
fallback_policy: fallback_policy,
|
|
780
|
-
conflict_marker_size: conflict_marker_size
|
|
781
|
-
)
|
|
782
|
-
)
|
|
783
|
-
when 'rbs'
|
|
784
|
-
merge3_result(
|
|
785
|
-
Ast::Merge::Git.merge3(
|
|
786
|
-
base_source: ancestor_source,
|
|
787
|
-
ours_source: current_source,
|
|
788
|
-
theirs_source: other_source,
|
|
789
|
-
path_name: path_name,
|
|
790
|
-
provider_id: 'ruby.rbs',
|
|
791
|
-
family: 'rbs',
|
|
792
|
-
dialect: 'rbs',
|
|
793
|
-
backend: 'rbs',
|
|
794
|
-
profile_id: 'source_preserving',
|
|
795
|
-
fallback_policy: fallback_policy,
|
|
796
|
-
conflict_marker_size: conflict_marker_size
|
|
797
|
-
)
|
|
798
|
-
)
|
|
799
|
-
when 'rust'
|
|
800
|
-
merge3_result(
|
|
801
|
-
Ast::Merge::Git.merge3(
|
|
802
|
-
base_source: ancestor_source,
|
|
803
|
-
ours_source: current_source,
|
|
804
|
-
theirs_source: other_source,
|
|
805
|
-
path_name: path_name,
|
|
806
|
-
provider_id: 'ruby.rust',
|
|
807
|
-
family: 'rust',
|
|
808
|
-
dialect: 'rust',
|
|
809
|
-
backend: 'kreuzberg-language-pack',
|
|
810
|
-
profile_id: 'source_preserving',
|
|
811
|
-
fallback_policy: fallback_policy,
|
|
812
|
-
conflict_marker_size: conflict_marker_size
|
|
813
|
-
)
|
|
814
|
-
)
|
|
815
|
-
when 'toml'
|
|
816
|
-
merge3_result(
|
|
817
|
-
Ast::Merge::Git.merge3(
|
|
818
|
-
base_source: ancestor_source,
|
|
819
|
-
ours_source: current_source,
|
|
820
|
-
theirs_source: other_source,
|
|
821
|
-
path_name: path_name,
|
|
822
|
-
provider_id: 'ruby.toml',
|
|
823
|
-
family: 'toml',
|
|
824
|
-
dialect: 'toml',
|
|
825
|
-
backend: 'kreuzberg-language-pack',
|
|
826
|
-
profile_id: 'source_preserving',
|
|
827
|
-
fallback_policy: fallback_policy,
|
|
828
|
-
conflict_marker_size: conflict_marker_size
|
|
829
|
-
)
|
|
830
|
-
)
|
|
831
|
-
when 'typescript', 'tsx'
|
|
832
|
-
dialect = normalize_language(language, path_name)
|
|
833
|
-
merge3_result(
|
|
834
|
-
Ast::Merge::Git.merge3(
|
|
835
|
-
base_source: ancestor_source,
|
|
836
|
-
ours_source: current_source,
|
|
837
|
-
theirs_source: other_source,
|
|
838
|
-
path_name: path_name,
|
|
839
|
-
provider_id: 'ruby.typescript',
|
|
840
|
-
family: 'typescript',
|
|
841
|
-
dialect: dialect,
|
|
842
|
-
backend: 'kreuzberg-language-pack',
|
|
843
|
-
profile_id: 'source_preserving',
|
|
844
|
-
fallback_policy: fallback_policy,
|
|
845
|
-
conflict_marker_size: conflict_marker_size
|
|
846
|
-
)
|
|
847
|
-
)
|
|
848
|
-
when 'yaml'
|
|
849
|
-
merge3_result(
|
|
850
|
-
Ast::Merge::Git.merge3(
|
|
851
|
-
base_source: ancestor_source,
|
|
852
|
-
ours_source: current_source,
|
|
853
|
-
theirs_source: other_source,
|
|
854
|
-
path_name: path_name,
|
|
855
|
-
provider_id: 'ruby.yaml',
|
|
856
|
-
family: 'yaml',
|
|
857
|
-
dialect: 'yaml',
|
|
858
|
-
backend: 'kreuzberg-language-pack',
|
|
859
|
-
profile_id: 'source_preserving',
|
|
860
|
-
fallback_policy: fallback_policy,
|
|
861
|
-
conflict_marker_size: conflict_marker_size
|
|
862
|
-
)
|
|
863
|
-
)
|
|
864
|
-
when 'text'
|
|
865
|
-
merge3_result(
|
|
866
|
-
Ast::Merge::Git.merge3(
|
|
867
|
-
base_source: ancestor_source,
|
|
868
|
-
ours_source: current_source,
|
|
869
|
-
theirs_source: other_source,
|
|
870
|
-
path_name: path_name,
|
|
871
|
-
family: 'text',
|
|
872
|
-
dialect: 'text',
|
|
873
|
-
profile_id: 'coarse_document',
|
|
874
|
-
fallback_policy: fallback_policy,
|
|
875
|
-
conflict_marker_size: conflict_marker_size
|
|
876
|
-
)
|
|
709
|
+
normalized_language = normalize_language(language, path_name)
|
|
710
|
+
provider_options = MERGE_PROVIDER_OPTIONS[normalized_language]
|
|
711
|
+
return unsupported_language_result(normalized_language, path_name) unless provider_options
|
|
712
|
+
|
|
713
|
+
merge_with_provider(
|
|
714
|
+
path_name, provider_options,
|
|
715
|
+
merge_options_for(ancestor_source, current_source, other_source, fallback_policy, conflict_marker_size)
|
|
716
|
+
)
|
|
717
|
+
end
|
|
718
|
+
|
|
719
|
+
def merge_options_for(ancestor_source, current_source, other_source, fallback_policy, conflict_marker_size)
|
|
720
|
+
{
|
|
721
|
+
base_source: ancestor_source,
|
|
722
|
+
ours_source: current_source,
|
|
723
|
+
theirs_source: other_source,
|
|
724
|
+
fallback_policy: fallback_policy,
|
|
725
|
+
conflict_marker_size: conflict_marker_size
|
|
726
|
+
}
|
|
727
|
+
end
|
|
728
|
+
|
|
729
|
+
def merge_with_provider(path_name, provider_options, merge_options)
|
|
730
|
+
merge3_result(
|
|
731
|
+
Ast::Merge::Git.merge3(
|
|
732
|
+
**merge_options,
|
|
733
|
+
path_name: path_name,
|
|
734
|
+
profile_id: provider_options.fetch(:profile_id, 'source_preserving'),
|
|
735
|
+
**provider_options.except(:profile_id)
|
|
877
736
|
)
|
|
878
|
-
|
|
879
|
-
unsupported_language_result(normalize_language(language, path_name), path_name)
|
|
880
|
-
end
|
|
737
|
+
)
|
|
881
738
|
end
|
|
882
739
|
|
|
883
740
|
def unsupported_language_result(language, path_name)
|
|
@@ -895,90 +752,69 @@ module Smorg
|
|
|
895
752
|
end
|
|
896
753
|
|
|
897
754
|
def merge3_result(result)
|
|
898
|
-
|
|
755
|
+
if result[:ok] && result[:merged_source]
|
|
756
|
+
return merge3_result_payload(result, true, result.fetch(:merged_source))
|
|
757
|
+
elsif !result[:ok] && result[:conflicted_source]
|
|
758
|
+
return merge3_result_payload(result, false, result.fetch(:conflicted_source))
|
|
759
|
+
end
|
|
760
|
+
|
|
761
|
+
merge3_result_payload(result, false, nil)
|
|
762
|
+
end
|
|
763
|
+
|
|
764
|
+
def merge3_result_payload(result, success, output)
|
|
765
|
+
payload = {
|
|
766
|
+
ok: success,
|
|
767
|
+
diagnostics: result.fetch(:diagnostics),
|
|
768
|
+
owned_regions: result.fetch(:owned_regions, []),
|
|
769
|
+
render_report: result.fetch(:render_report),
|
|
770
|
+
profile: result.fetch(:profile),
|
|
771
|
+
policies: [],
|
|
772
|
+
**merge3_report_fields(result)
|
|
773
|
+
}
|
|
774
|
+
output ? payload.merge(output: output) : payload
|
|
775
|
+
end
|
|
776
|
+
|
|
777
|
+
def merge3_report_fields(result)
|
|
778
|
+
{
|
|
899
779
|
change_classifications: result.fetch(:change_classifications, []),
|
|
900
780
|
conflicts: result.fetch(:conflicts, []),
|
|
901
781
|
fallbacks: result.fetch(:fallbacks, []),
|
|
902
782
|
provider: result.fetch(:provider, {}),
|
|
903
783
|
verification: result.fetch(:verification, {})
|
|
904
784
|
}
|
|
905
|
-
if result[:ok] && result[:merged_source]
|
|
906
|
-
{
|
|
907
|
-
ok: true,
|
|
908
|
-
diagnostics: result.fetch(:diagnostics),
|
|
909
|
-
output: result.fetch(:merged_source),
|
|
910
|
-
owned_regions: result.fetch(:owned_regions, []),
|
|
911
|
-
render_report: result.fetch(:render_report),
|
|
912
|
-
profile: result.fetch(:profile),
|
|
913
|
-
policies: [],
|
|
914
|
-
**merge3_report_fields
|
|
915
|
-
}
|
|
916
|
-
elsif !result[:ok] && result[:conflicted_source]
|
|
917
|
-
{
|
|
918
|
-
ok: false,
|
|
919
|
-
diagnostics: result.fetch(:diagnostics),
|
|
920
|
-
output: result.fetch(:conflicted_source),
|
|
921
|
-
owned_regions: result.fetch(:owned_regions, []),
|
|
922
|
-
render_report: result.fetch(:render_report),
|
|
923
|
-
profile: result.fetch(:profile),
|
|
924
|
-
policies: [],
|
|
925
|
-
**merge3_report_fields
|
|
926
|
-
}
|
|
927
|
-
else
|
|
928
|
-
{
|
|
929
|
-
ok: false,
|
|
930
|
-
diagnostics: result.fetch(:diagnostics),
|
|
931
|
-
owned_regions: result.fetch(:owned_regions, []),
|
|
932
|
-
render_report: result.fetch(:render_report),
|
|
933
|
-
profile: result.fetch(:profile),
|
|
934
|
-
policies: [],
|
|
935
|
-
**merge3_report_fields
|
|
936
|
-
}
|
|
937
|
-
end
|
|
938
785
|
end
|
|
939
786
|
|
|
940
787
|
def normalize_language(language, path_name)
|
|
941
|
-
|
|
942
|
-
return
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
when 'toml', 'application/toml'
|
|
972
|
-
'toml'
|
|
973
|
-
when 'typescript', 'ts', 'application/typescript', 'text/typescript'
|
|
974
|
-
'typescript'
|
|
975
|
-
when 'tsx', 'typescriptreact'
|
|
976
|
-
'tsx'
|
|
977
|
-
when 'yaml', 'yml', 'application/yaml', 'text/yaml'
|
|
978
|
-
'yaml'
|
|
979
|
-
when 'plain', 'text', 'plaintext', 'text/plain'
|
|
980
|
-
'text'
|
|
981
|
-
else
|
|
788
|
+
normalized_language = language.to_s.strip.downcase
|
|
789
|
+
return language_from_path(path_name) if normalized_language.empty?
|
|
790
|
+
|
|
791
|
+
LANGUAGE_ALIASES.fetch(normalized_language) do
|
|
792
|
+
Ast::Merge.classify_template_target_path(path_name)[:family]
|
|
793
|
+
end
|
|
794
|
+
end
|
|
795
|
+
|
|
796
|
+
LANGUAGE_BY_EXTENSION = {
|
|
797
|
+
'.bash' => 'bash', '.sh' => 'bash', '.go' => 'go', '.htm' => 'html', '.html' => 'html',
|
|
798
|
+
'.rs' => 'rust', '.ts' => 'typescript', '.tsx' => 'tsx'
|
|
799
|
+
}.freeze
|
|
800
|
+
|
|
801
|
+
LANGUAGE_ALIASES = {
|
|
802
|
+
'bash' => 'bash', 'sh' => 'bash', 'application/x-sh' => 'bash', 'text/x-shellscript' => 'bash',
|
|
803
|
+
'go' => 'go', 'golang' => 'go', 'html' => 'html', 'htm' => 'html', 'text/html' => 'html', 'html5' => 'html',
|
|
804
|
+
'dotenv' => 'dotenv', 'env' => 'dotenv', 'config-env' => 'dotenv', 'json' => 'json', 'jsonc' => 'jsonc',
|
|
805
|
+
'json with comments' => 'jsonc', 'json5' => 'json5', 'markdown' => 'markdown', 'md' => 'markdown',
|
|
806
|
+
'gfm' => 'markdown', 'text/markdown' => 'markdown', 'ruby' => 'ruby', 'rb' => 'ruby',
|
|
807
|
+
'application/x-ruby' => 'ruby', 'rbs' => 'rbs', 'rust' => 'rust', 'rs' => 'rust',
|
|
808
|
+
'application/rust' => 'rust', 'text/rust' => 'rust', 'toml' => 'toml', 'application/toml' => 'toml',
|
|
809
|
+
'typescript' => 'typescript', 'ts' => 'typescript', 'application/typescript' => 'typescript',
|
|
810
|
+
'text/typescript' => 'typescript', 'tsx' => 'tsx', 'typescriptreact' => 'tsx', 'yaml' => 'yaml',
|
|
811
|
+
'yml' => 'yaml', 'application/yaml' => 'yaml', 'text/yaml' => 'yaml', 'plain' => 'text', 'text' => 'text',
|
|
812
|
+
'plaintext' => 'text', 'text/plain' => 'text'
|
|
813
|
+
}.freeze
|
|
814
|
+
|
|
815
|
+
def language_from_path(path_name)
|
|
816
|
+
extension = File.extname(path_name.to_s).downcase
|
|
817
|
+
LANGUAGE_BY_EXTENSION.fetch(extension) do
|
|
982
818
|
Ast::Merge.classify_template_target_path(path_name)[:family]
|
|
983
819
|
end
|
|
984
820
|
end
|
|
@@ -994,50 +830,63 @@ module Smorg
|
|
|
994
830
|
end
|
|
995
831
|
|
|
996
832
|
def attribute_files_for_path(path_name)
|
|
997
|
-
clean_path =
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
833
|
+
clean_path = normalized_attribute_path(path_name)
|
|
834
|
+
return ['.gitattributes'] if root_attribute_path?(clean_path)
|
|
835
|
+
|
|
836
|
+
['.gitattributes', *attribute_directory_paths(File.dirname(clean_path))]
|
|
837
|
+
end
|
|
838
|
+
|
|
839
|
+
def normalized_attribute_path(path_name)
|
|
840
|
+
expanded_path = File.expand_path(path_name, Dir.pwd)
|
|
841
|
+
return Pathname.new(path_name).cleanpath.to_s if expanded_path.start_with?(Dir.pwd)
|
|
842
|
+
|
|
843
|
+
path_name
|
|
844
|
+
end
|
|
845
|
+
|
|
846
|
+
def root_attribute_path?(clean_path)
|
|
1003
847
|
dir = File.dirname(clean_path)
|
|
1004
|
-
|
|
848
|
+
dir == '.' || clean_path.start_with?('..') || Pathname.new(clean_path).absolute?
|
|
849
|
+
end
|
|
1005
850
|
|
|
1006
|
-
|
|
851
|
+
def attribute_directory_paths(dir)
|
|
1007
852
|
parts = dir.split(File::SEPARATOR).reject(&:empty?)
|
|
1008
|
-
parts.each_index do |index|
|
|
1009
|
-
|
|
853
|
+
parts.each_index.map do |index|
|
|
854
|
+
File.join(*parts[0..index], '.gitattributes')
|
|
1010
855
|
end
|
|
1011
|
-
files
|
|
1012
856
|
end
|
|
1013
857
|
|
|
1014
858
|
def apply_attributes(settings, path_name, source)
|
|
1015
859
|
source.each_line do |raw_line|
|
|
1016
|
-
|
|
1017
|
-
next if line.empty? || line.start_with?('#')
|
|
1018
|
-
|
|
1019
|
-
pattern, *fields = line.split(/\s+/)
|
|
1020
|
-
next if fields.empty? || !attribute_pattern_matches?(pattern, path_name)
|
|
1021
|
-
|
|
1022
|
-
fields.each do |field|
|
|
1023
|
-
key, value = field.split('=', 2)
|
|
1024
|
-
next unless value
|
|
1025
|
-
|
|
1026
|
-
case key
|
|
1027
|
-
when 'smorg.language', 'linguist-language'
|
|
1028
|
-
settings[:language] = value
|
|
1029
|
-
when 'smorg.profile'
|
|
1030
|
-
settings[:profile_id] = value
|
|
1031
|
-
when 'smorg.requireProfileStatus'
|
|
1032
|
-
settings[:require_profile_status] = value
|
|
1033
|
-
when 'conflict-marker-size'
|
|
1034
|
-
marker_size = value.to_i
|
|
1035
|
-
settings[:conflict_marker_size] = marker_size if marker_size.positive?
|
|
1036
|
-
end
|
|
1037
|
-
end
|
|
860
|
+
attribute_fields(raw_line, path_name).each { |field| apply_attribute_field(settings, field) }
|
|
1038
861
|
end
|
|
1039
862
|
end
|
|
1040
863
|
|
|
864
|
+
def attribute_fields(raw_line, path_name)
|
|
865
|
+
line = raw_line.strip
|
|
866
|
+
return [] if line.empty? || line.start_with?('#')
|
|
867
|
+
|
|
868
|
+
pattern, *fields = line.split(/\s+/)
|
|
869
|
+
return [] if fields.empty? || !attribute_pattern_matches?(pattern, path_name)
|
|
870
|
+
|
|
871
|
+
fields
|
|
872
|
+
end
|
|
873
|
+
|
|
874
|
+
ATTRIBUTE_KEYS = {
|
|
875
|
+
'smorg.language' => :language,
|
|
876
|
+
'linguist-language' => :language,
|
|
877
|
+
'smorg.profile' => :profile_id,
|
|
878
|
+
'smorg.requireProfileStatus' => :require_profile_status
|
|
879
|
+
}.freeze
|
|
880
|
+
|
|
881
|
+
def apply_attribute_field(settings, field)
|
|
882
|
+
key, value = field.split('=', 2)
|
|
883
|
+
return unless value
|
|
884
|
+
return settings[ATTRIBUTE_KEYS[key]] = value if ATTRIBUTE_KEYS.key?(key)
|
|
885
|
+
|
|
886
|
+
marker_size = value.to_i
|
|
887
|
+
settings[:conflict_marker_size] = marker_size if key == 'conflict-marker-size' && marker_size.positive?
|
|
888
|
+
end
|
|
889
|
+
|
|
1041
890
|
def attribute_pattern_matches?(pattern, path_name)
|
|
1042
891
|
return true if pattern == path_name
|
|
1043
892
|
|
|
@@ -1049,26 +898,33 @@ module Smorg
|
|
|
1049
898
|
end
|
|
1050
899
|
|
|
1051
900
|
def find_conflict_regions(source, marker_size)
|
|
1052
|
-
|
|
1053
|
-
start_prefix = '<' * marker_size
|
|
1054
|
-
separator_prefix = '=' * marker_size
|
|
1055
|
-
end_prefix = '>' * marker_size
|
|
901
|
+
prefixes = conflict_marker_prefixes(marker_size)
|
|
1056
902
|
regions = []
|
|
1057
903
|
current = nil
|
|
1058
904
|
source.split("\n").each_with_index do |line, index|
|
|
1059
|
-
|
|
1060
|
-
if
|
|
1061
|
-
current = { start_line: line_number, separator_line: 0 }
|
|
1062
|
-
elsif current && current[:separator_line].zero? && line.start_with?(separator_prefix)
|
|
1063
|
-
current[:separator_line] = line_number
|
|
1064
|
-
elsif current && line.start_with?(end_prefix)
|
|
1065
|
-
regions << current.merge(end_line: line_number)
|
|
1066
|
-
current = nil
|
|
1067
|
-
end
|
|
905
|
+
current, completed = conflict_region_state(current, line, index + 1, prefixes)
|
|
906
|
+
regions << completed if completed
|
|
1068
907
|
end
|
|
1069
908
|
regions
|
|
1070
909
|
end
|
|
1071
910
|
|
|
911
|
+
def conflict_marker_prefixes(marker_size)
|
|
912
|
+
size = [marker_size.to_i, 1].max
|
|
913
|
+
{ start: '<' * size, separator: '=' * size, end: '>' * size }
|
|
914
|
+
end
|
|
915
|
+
|
|
916
|
+
def conflict_region_state(current, line, line_number, prefixes)
|
|
917
|
+
if line.start_with?(prefixes[:start])
|
|
918
|
+
[{ start_line: line_number, separator_line: 0 }, nil]
|
|
919
|
+
elsif current && current[:separator_line].zero? && line.start_with?(prefixes[:separator])
|
|
920
|
+
[current.merge(separator_line: line_number), nil]
|
|
921
|
+
elsif current && line.start_with?(prefixes[:end])
|
|
922
|
+
[nil, current.merge(end_line: line_number)]
|
|
923
|
+
else
|
|
924
|
+
[current, nil]
|
|
925
|
+
end
|
|
926
|
+
end
|
|
927
|
+
|
|
1072
928
|
def print_conflict_diff(stdout, path_name, regions)
|
|
1073
929
|
stdout.puts("conflicts #{path_name}")
|
|
1074
930
|
stdout.puts("count #{regions.length}")
|
|
@@ -1088,7 +944,7 @@ module Smorg
|
|
|
1088
944
|
stderr.puts("#{diagnostic[:category]}: #{diagnostic[:message]}")
|
|
1089
945
|
end
|
|
1090
946
|
end
|
|
1091
|
-
end
|
|
947
|
+
end # rubocop:enable Metrics/ModuleLength
|
|
1092
948
|
end
|
|
1093
949
|
|
|
1094
950
|
require 'rust/merge'
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: smorg-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.1.
|
|
4
|
+
version: 7.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -43,42 +43,42 @@ dependencies:
|
|
|
43
43
|
requirements:
|
|
44
44
|
- - '='
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 7.1.
|
|
46
|
+
version: 7.1.4
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - '='
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 7.1.
|
|
53
|
+
version: 7.1.4
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: ast-merge-git
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - '='
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: 7.1.
|
|
60
|
+
version: 7.1.4
|
|
61
61
|
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - '='
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 7.1.
|
|
67
|
+
version: 7.1.4
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
69
|
name: bash-merge
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - '='
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 7.1.
|
|
74
|
+
version: 7.1.4
|
|
75
75
|
type: :runtime
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - '='
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 7.1.
|
|
81
|
+
version: 7.1.4
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
83
|
name: diff-lcs
|
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -99,56 +99,56 @@ dependencies:
|
|
|
99
99
|
requirements:
|
|
100
100
|
- - '='
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: 7.1.
|
|
102
|
+
version: 7.1.4
|
|
103
103
|
type: :runtime
|
|
104
104
|
prerelease: false
|
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
106
106
|
requirements:
|
|
107
107
|
- - '='
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: 7.1.
|
|
109
|
+
version: 7.1.4
|
|
110
110
|
- !ruby/object:Gem::Dependency
|
|
111
111
|
name: go-merge
|
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
|
113
113
|
requirements:
|
|
114
114
|
- - '='
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: 7.1.
|
|
116
|
+
version: 7.1.4
|
|
117
117
|
type: :runtime
|
|
118
118
|
prerelease: false
|
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
120
120
|
requirements:
|
|
121
121
|
- - '='
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: 7.1.
|
|
123
|
+
version: 7.1.4
|
|
124
124
|
- !ruby/object:Gem::Dependency
|
|
125
125
|
name: html-merge
|
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
|
127
127
|
requirements:
|
|
128
128
|
- - '='
|
|
129
129
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: 7.1.
|
|
130
|
+
version: 7.1.4
|
|
131
131
|
type: :runtime
|
|
132
132
|
prerelease: false
|
|
133
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
134
|
requirements:
|
|
135
135
|
- - '='
|
|
136
136
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: 7.1.
|
|
137
|
+
version: 7.1.4
|
|
138
138
|
- !ruby/object:Gem::Dependency
|
|
139
139
|
name: json-merge
|
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
|
141
141
|
requirements:
|
|
142
142
|
- - '='
|
|
143
143
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: 7.1.
|
|
144
|
+
version: 7.1.4
|
|
145
145
|
type: :runtime
|
|
146
146
|
prerelease: false
|
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
148
148
|
requirements:
|
|
149
149
|
- - '='
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: 7.1.
|
|
151
|
+
version: 7.1.4
|
|
152
152
|
- !ruby/object:Gem::Dependency
|
|
153
153
|
name: kettle-jem
|
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -158,7 +158,7 @@ dependencies:
|
|
|
158
158
|
version: '7.1'
|
|
159
159
|
- - ">="
|
|
160
160
|
- !ruby/object:Gem::Version
|
|
161
|
-
version: 7.1.
|
|
161
|
+
version: 7.1.5
|
|
162
162
|
type: :runtime
|
|
163
163
|
prerelease: false
|
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -168,105 +168,119 @@ dependencies:
|
|
|
168
168
|
version: '7.1'
|
|
169
169
|
- - ">="
|
|
170
170
|
- !ruby/object:Gem::Version
|
|
171
|
-
version: 7.1.
|
|
171
|
+
version: 7.1.5
|
|
172
172
|
- !ruby/object:Gem::Dependency
|
|
173
173
|
name: markdown-merge
|
|
174
174
|
requirement: !ruby/object:Gem::Requirement
|
|
175
175
|
requirements:
|
|
176
176
|
- - '='
|
|
177
177
|
- !ruby/object:Gem::Version
|
|
178
|
-
version: 7.1.
|
|
178
|
+
version: 7.1.4
|
|
179
179
|
type: :runtime
|
|
180
180
|
prerelease: false
|
|
181
181
|
version_requirements: !ruby/object:Gem::Requirement
|
|
182
182
|
requirements:
|
|
183
183
|
- - '='
|
|
184
184
|
- !ruby/object:Gem::Version
|
|
185
|
-
version: 7.1.
|
|
185
|
+
version: 7.1.4
|
|
186
186
|
- !ruby/object:Gem::Dependency
|
|
187
187
|
name: plain-merge
|
|
188
188
|
requirement: !ruby/object:Gem::Requirement
|
|
189
189
|
requirements:
|
|
190
190
|
- - '='
|
|
191
191
|
- !ruby/object:Gem::Version
|
|
192
|
-
version: 7.1.
|
|
192
|
+
version: 7.1.4
|
|
193
193
|
type: :runtime
|
|
194
194
|
prerelease: false
|
|
195
195
|
version_requirements: !ruby/object:Gem::Requirement
|
|
196
196
|
requirements:
|
|
197
197
|
- - '='
|
|
198
198
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: 7.1.
|
|
199
|
+
version: 7.1.4
|
|
200
200
|
- !ruby/object:Gem::Dependency
|
|
201
|
-
name:
|
|
201
|
+
name: prism-merge
|
|
202
|
+
requirement: !ruby/object:Gem::Requirement
|
|
203
|
+
requirements:
|
|
204
|
+
- - '='
|
|
205
|
+
- !ruby/object:Gem::Version
|
|
206
|
+
version: 7.1.4
|
|
207
|
+
type: :runtime
|
|
208
|
+
prerelease: false
|
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
210
|
+
requirements:
|
|
211
|
+
- - '='
|
|
212
|
+
- !ruby/object:Gem::Version
|
|
213
|
+
version: 7.1.4
|
|
214
|
+
- !ruby/object:Gem::Dependency
|
|
215
|
+
name: psych-merge
|
|
202
216
|
requirement: !ruby/object:Gem::Requirement
|
|
203
217
|
requirements:
|
|
204
218
|
- - '='
|
|
205
219
|
- !ruby/object:Gem::Version
|
|
206
|
-
version: 7.1.
|
|
220
|
+
version: 7.1.4
|
|
207
221
|
type: :runtime
|
|
208
222
|
prerelease: false
|
|
209
223
|
version_requirements: !ruby/object:Gem::Requirement
|
|
210
224
|
requirements:
|
|
211
225
|
- - '='
|
|
212
226
|
- !ruby/object:Gem::Version
|
|
213
|
-
version: 7.1.
|
|
227
|
+
version: 7.1.4
|
|
214
228
|
- !ruby/object:Gem::Dependency
|
|
215
|
-
name:
|
|
229
|
+
name: rbs-merge
|
|
216
230
|
requirement: !ruby/object:Gem::Requirement
|
|
217
231
|
requirements:
|
|
218
232
|
- - '='
|
|
219
233
|
- !ruby/object:Gem::Version
|
|
220
|
-
version: 7.1.
|
|
234
|
+
version: 7.1.4
|
|
221
235
|
type: :runtime
|
|
222
236
|
prerelease: false
|
|
223
237
|
version_requirements: !ruby/object:Gem::Requirement
|
|
224
238
|
requirements:
|
|
225
239
|
- - '='
|
|
226
240
|
- !ruby/object:Gem::Version
|
|
227
|
-
version: 7.1.
|
|
241
|
+
version: 7.1.4
|
|
228
242
|
- !ruby/object:Gem::Dependency
|
|
229
243
|
name: rust-merge
|
|
230
244
|
requirement: !ruby/object:Gem::Requirement
|
|
231
245
|
requirements:
|
|
232
246
|
- - '='
|
|
233
247
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: 7.1.
|
|
248
|
+
version: 7.1.4
|
|
235
249
|
type: :runtime
|
|
236
250
|
prerelease: false
|
|
237
251
|
version_requirements: !ruby/object:Gem::Requirement
|
|
238
252
|
requirements:
|
|
239
253
|
- - '='
|
|
240
254
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: 7.1.
|
|
255
|
+
version: 7.1.4
|
|
242
256
|
- !ruby/object:Gem::Dependency
|
|
243
257
|
name: toml-merge
|
|
244
258
|
requirement: !ruby/object:Gem::Requirement
|
|
245
259
|
requirements:
|
|
246
260
|
- - '='
|
|
247
261
|
- !ruby/object:Gem::Version
|
|
248
|
-
version: 7.1.
|
|
262
|
+
version: 7.1.4
|
|
249
263
|
type: :runtime
|
|
250
264
|
prerelease: false
|
|
251
265
|
version_requirements: !ruby/object:Gem::Requirement
|
|
252
266
|
requirements:
|
|
253
267
|
- - '='
|
|
254
268
|
- !ruby/object:Gem::Version
|
|
255
|
-
version: 7.1.
|
|
269
|
+
version: 7.1.4
|
|
256
270
|
- !ruby/object:Gem::Dependency
|
|
257
271
|
name: typescript-merge
|
|
258
272
|
requirement: !ruby/object:Gem::Requirement
|
|
259
273
|
requirements:
|
|
260
274
|
- - '='
|
|
261
275
|
- !ruby/object:Gem::Version
|
|
262
|
-
version: 7.1.
|
|
276
|
+
version: 7.1.4
|
|
263
277
|
type: :runtime
|
|
264
278
|
prerelease: false
|
|
265
279
|
version_requirements: !ruby/object:Gem::Requirement
|
|
266
280
|
requirements:
|
|
267
281
|
- - '='
|
|
268
282
|
- !ruby/object:Gem::Version
|
|
269
|
-
version: 7.1.
|
|
283
|
+
version: 7.1.4
|
|
270
284
|
- !ruby/object:Gem::Dependency
|
|
271
285
|
name: version_gem
|
|
272
286
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -287,20 +301,6 @@ dependencies:
|
|
|
287
301
|
- - ">="
|
|
288
302
|
- !ruby/object:Gem::Version
|
|
289
303
|
version: 1.1.15
|
|
290
|
-
- !ruby/object:Gem::Dependency
|
|
291
|
-
name: yaml-merge
|
|
292
|
-
requirement: !ruby/object:Gem::Requirement
|
|
293
|
-
requirements:
|
|
294
|
-
- - '='
|
|
295
|
-
- !ruby/object:Gem::Version
|
|
296
|
-
version: 7.1.3
|
|
297
|
-
type: :runtime
|
|
298
|
-
prerelease: false
|
|
299
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
300
|
-
requirements:
|
|
301
|
-
- - '='
|
|
302
|
-
- !ruby/object:Gem::Version
|
|
303
|
-
version: 7.1.3
|
|
304
304
|
- !ruby/object:Gem::Dependency
|
|
305
305
|
name: kettle-dev
|
|
306
306
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -310,7 +310,7 @@ dependencies:
|
|
|
310
310
|
version: '3.0'
|
|
311
311
|
- - ">="
|
|
312
312
|
- !ruby/object:Gem::Version
|
|
313
|
-
version: 3.0.
|
|
313
|
+
version: 3.0.7
|
|
314
314
|
type: :development
|
|
315
315
|
prerelease: false
|
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -320,7 +320,7 @@ dependencies:
|
|
|
320
320
|
version: '3.0'
|
|
321
321
|
- - ">="
|
|
322
322
|
- !ruby/object:Gem::Version
|
|
323
|
-
version: 3.0.
|
|
323
|
+
version: 3.0.7
|
|
324
324
|
- !ruby/object:Gem::Dependency
|
|
325
325
|
name: bundler-audit
|
|
326
326
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -418,7 +418,7 @@ dependencies:
|
|
|
418
418
|
version: '2.0'
|
|
419
419
|
- - ">="
|
|
420
420
|
- !ruby/object:Gem::Version
|
|
421
|
-
version: 2.0.
|
|
421
|
+
version: 2.0.20
|
|
422
422
|
type: :development
|
|
423
423
|
prerelease: false
|
|
424
424
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -428,7 +428,7 @@ dependencies:
|
|
|
428
428
|
version: '2.0'
|
|
429
429
|
- - ">="
|
|
430
430
|
- !ruby/object:Gem::Version
|
|
431
|
-
version: 2.0.
|
|
431
|
+
version: 2.0.20
|
|
432
432
|
- !ruby/object:Gem::Dependency
|
|
433
433
|
name: turbo_tests2
|
|
434
434
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -438,7 +438,7 @@ dependencies:
|
|
|
438
438
|
version: '3.2'
|
|
439
439
|
- - ">="
|
|
440
440
|
- !ruby/object:Gem::Version
|
|
441
|
-
version: 3.2.
|
|
441
|
+
version: 3.2.6
|
|
442
442
|
type: :development
|
|
443
443
|
prerelease: false
|
|
444
444
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -448,7 +448,7 @@ dependencies:
|
|
|
448
448
|
version: '3.2'
|
|
449
449
|
- - ">="
|
|
450
450
|
- !ruby/object:Gem::Version
|
|
451
|
-
version: 3.2.
|
|
451
|
+
version: 3.2.6
|
|
452
452
|
- !ruby/object:Gem::Dependency
|
|
453
453
|
name: ruby-progressbar
|
|
454
454
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -492,7 +492,7 @@ dependencies:
|
|
|
492
492
|
version: '2.0'
|
|
493
493
|
- - ">="
|
|
494
494
|
- !ruby/object:Gem::Version
|
|
495
|
-
version: 2.0.
|
|
495
|
+
version: 2.0.12
|
|
496
496
|
type: :development
|
|
497
497
|
prerelease: false
|
|
498
498
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -502,7 +502,7 @@ dependencies:
|
|
|
502
502
|
version: '2.0'
|
|
503
503
|
- - ">="
|
|
504
504
|
- !ruby/object:Gem::Version
|
|
505
|
-
version: 2.0.
|
|
505
|
+
version: 2.0.12
|
|
506
506
|
description: "\U0001F48E Git-compatible StructuredMerge command surface for the Ruby
|
|
507
507
|
implementation."
|
|
508
508
|
email:
|
|
@@ -525,10 +525,10 @@ licenses:
|
|
|
525
525
|
- PolyForm-Small-Business-1.0.0
|
|
526
526
|
metadata:
|
|
527
527
|
homepage_uri: https://structuredmerge.org
|
|
528
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
529
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
528
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.4
|
|
529
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.4/CHANGELOG.md
|
|
530
530
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
531
|
-
documentation_uri: https://www.rubydoc.info/gems/smorg-rb/7.1.
|
|
531
|
+
documentation_uri: https://www.rubydoc.info/gems/smorg-rb/7.1.4
|
|
532
532
|
funding_uri: https://github.com/sponsors/pboling
|
|
533
533
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
534
534
|
news_uri: https://www.railsbling.com/tags/smorg-rb
|
metadata.gz.sig
CHANGED
|
Binary file
|