git-multirepo 78.0 → 79.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67bba471cade171734f7f9b6bdf68fc214d77d94117d91c4935d00db73547dde
4
- data.tar.gz: 387d7fcd24da4d5d0880687987cd7728919b1dbbadfc2070fc59052a67624eec
3
+ metadata.gz: 2607f2a89a9e99220e469a8154c62e2e61b64d47c0c080568a002441a22b369f
4
+ data.tar.gz: 025b94d91a07f7bb469a119c4eca8212eaf49cc76efe6dd884b22f6077050378
5
5
  SHA512:
6
- metadata.gz: d050eafad731d9f704975b8612364a2569152662fa9df35fea45bba821276435c841cae7f1ea81ea146c6ddd85f423b9ee4c9d78ef018ac844946e778af8c778
7
- data.tar.gz: d384043a504f629792474fd179f91a162aa12637d5d4a25d5984f23654607a689c7c7d6f2d42644f6bc54b89882500ac2bb30c140d1d7aa2c3643d893040a530
6
+ metadata.gz: 86ee665305437643c2ba1931b76673bde8c40cb0f3c43f1a2229ff9543d9e9e3a18d03fe42c16c14e2408a2b919e35f44bbb598a243406b96815efc624d817b8
7
+ data.tar.gz: 942cccca638f978126046f539e43c698b4273a3c7bcc48a7b40cdf7d51f8e95233e93f712b873e3e22ec35b8e773dc9b963ca94026f9329522bd4314675f57a2
data/.gitignore CHANGED
@@ -8,6 +8,7 @@
8
8
  /test/tmp/
9
9
  /test/version_tmp/
10
10
  /tmp/
11
+ /.tmp/
11
12
 
12
13
  ## Specific to RubyMotion:
13
14
  .dat*
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Releases
2
2
 
3
+ ## 79.0
4
+
5
+ - **Breaking Change:** Require Ruby 3.4 or newer within Ruby 3. Install the gem into the Ruby 3 environment used by your terminal, Git GUI, and CI.
6
+ - **Enhancement:** Update dependencies and development tooling for Ruby 3.
7
+ - **Bug Fix:** Replace removed Ruby APIs and load existing YAML tracking files with explicitly permitted classes, preserving object tags and aliases.
8
+ - **Bug Fix:** Show `multi add --help` and report missing paths without crashing.
9
+ - **Bug Fix:** Support Unicode repository paths during dependency traversal.
10
+ - **Bug Fix:** Populate the revision table printed by `multi install --ci`.
11
+ - **Bug Fix:** Process shared dependencies before their dependents so tracking-file commits record the final dependency revisions.
12
+ - **Bug Fix:** Discover dependencies from the current configuration during `multi update`, allowing stale lockfiles to be regenerated after adding, removing, or re-adding dependencies.
13
+
3
14
  ## 78.0
4
15
 
5
16
  The first official release! 🎉
data/Gemfile.lock CHANGED
@@ -1,48 +1,68 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- git-multirepo (1.0.0.beta74)
5
- claide (~> 1.0.2)
4
+ git-multirepo (79.0)
5
+ claide (~> 1.1)
6
6
  colored (~> 1.2)
7
- naturally (~> 2.2.0)
8
- os (~> 1.0.0)
9
- terminal-table (~> 1.8.0)
7
+ naturally (~> 2.3)
8
+ os (~> 1.1, >= 1.1.4)
9
+ terminal-table (~> 4.0)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- claide (1.0.2)
14
+ claide (1.1.0)
15
15
  colored (1.2)
16
- diff-lcs (1.3)
17
- naturally (2.2.0)
18
- os (1.0.1)
19
- rake (12.3.2)
20
- rspec (3.8.0)
21
- rspec-core (~> 3.8.0)
22
- rspec-expectations (~> 3.8.0)
23
- rspec-mocks (~> 3.8.0)
24
- rspec-core (3.8.0)
25
- rspec-support (~> 3.8.0)
26
- rspec-expectations (3.8.2)
16
+ diff-lcs (1.6.2)
17
+ naturally (2.3.0)
18
+ os (1.1.4)
19
+ rake (13.4.2)
20
+ rspec (3.13.2)
21
+ rspec-core (~> 3.13.0)
22
+ rspec-expectations (~> 3.13.0)
23
+ rspec-mocks (~> 3.13.0)
24
+ rspec-core (3.13.7)
25
+ rspec-support (~> 3.13.0)
26
+ rspec-expectations (3.13.6)
27
27
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.8.0)
29
- rspec-mocks (3.8.0)
28
+ rspec-support (~> 3.13.0)
29
+ rspec-mocks (3.13.9)
30
30
  diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.8.0)
32
- rspec-support (3.8.0)
33
- terminal-table (1.8.0)
34
- unicode-display_width (~> 1.1, >= 1.1.1)
35
- unicode-display_width (1.6.0)
31
+ rspec-support (~> 3.13.0)
32
+ rspec-support (3.13.8)
33
+ terminal-table (4.0.0)
34
+ unicode-display_width (>= 1.1.1, < 4)
35
+ unicode-display_width (3.3.0)
36
+ unicode-emoji (~> 4.3)
37
+ unicode-emoji (4.3.0)
36
38
 
37
39
  PLATFORMS
38
40
  ruby
39
- x64-mingw32
41
+ x64-mingw-ucrt
40
42
 
41
43
  DEPENDENCIES
42
- bundler (~> 2.0.1)
44
+ bundler (~> 4.0, >= 4.0.24)
43
45
  git-multirepo!
44
- rake (~> 12.3.2)
45
- rspec (~> 3.8.0)
46
+ rake (~> 13.4, >= 13.4.2)
47
+ rspec (~> 3.13, >= 3.13.2)
48
+
49
+ CHECKSUMS
50
+ bundler (4.0.24) sha256=16ca64e20816a0cf151a948fb141d788602996d2b4d73577b74388fe84fa98bc
51
+ claide (1.1.0) sha256=6d3c5c089dde904d96aa30e73306d0d4bd444b1accb9b3125ce14a3c0183f82e
52
+ colored (1.2) sha256=9d82b47ac589ce7f6cab64b1f194a2009e9fd00c326a5357321f44afab2c1d2c
53
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
54
+ git-multirepo (79.0)
55
+ naturally (2.3.0) sha256=459923cf76c2e6613048301742363200c3c7e4904c324097d54a67401e179e01
56
+ os (1.1.4) sha256=57816d6a334e7bd6aed048f4b0308226c5fb027433b67d90a9ab435f35108d3f
57
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
58
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
59
+ rspec-core (3.13.7) sha256=c64ff16d9788119805cbc6a3f4b6d87cc22417c2d25976a3330de136896b5469
60
+ rspec-expectations (3.13.6) sha256=bf538ca6d367ff5b0d85a87fdb5c0c6038f2cd1308a0eeba07476caa02d22f35
61
+ rspec-mocks (3.13.9) sha256=ea5c7ff3054a6098ca6039aacef80aec69d5a8a3ef80be8fc88337359b672a30
62
+ rspec-support (3.13.8) sha256=e4160030309b7e3e9d9863dfe720a35dfcc577162f5402cd68fc8c5258a0ffd6
63
+ terminal-table (4.0.0) sha256=f504793203f8251b2ea7c7068333053f0beeea26093ec9962e62ea79f94301d2
64
+ unicode-display_width (3.3.0) sha256=4b7aa66a4b11db50f6f7e98411215cd0dd10eaecb665d36eec5bcacb3fa0b613
65
+ unicode-emoji (4.3.0) sha256=11c02fa73290378c066bb0562cd4c87d8e1b706fbbe0059ca12746a4244de8ce
46
66
 
47
67
  BUNDLED WITH
48
- 2.0.2
68
+ 4.0.24
data/README.md CHANGED
@@ -8,23 +8,32 @@ Track multiple Git repositories side-by-side.
8
8
 
9
9
  An alternative approach to manage constantly evolving dependencies.
10
10
 
11
- Check out [the project's to-do list](https://www.pivotaltracker.com/n/projects/1256156) to get an idea of upcoming enhancements and read the [change log](https://github.com/fortinmike/git-multirepo/blob/master/CHANGELOG.md) for detailed information on git-multirepo releases.
11
+ Check out [the project's to-do list](https://www.pivotaltracker.com/n/projects/1256156) to get an idea of upcoming enhancements and read the [change log](https://github.com/fortinmike/git-multirepo/blob/master/CHANGELOG.md) for detailed information on releases.
12
12
 
13
13
  You can download a handy cheat sheet [here](https://github.com/fortinmike/git-multirepo/raw/master/docs/git-multirepo-cheatsheet.docx).
14
14
 
15
15
  ## Installation
16
16
 
17
- git-multirepo is distributed as a Ruby Gem.
17
+ git-multirepo is distributed as a Ruby Gem and requires Ruby 3.4 or newer within Ruby 3.
18
18
 
19
19
  $ gem install git-multirepo
20
20
 
21
21
  The `--pre` flag is necessary to install beta releases.
22
22
 
23
+ Install the gem into the Ruby environment used by your terminal, Git GUI, and CI.
24
+ The command and Git hooks select Ruby through `#!/usr/bin/env ruby`, so an installation
25
+ under Ruby 2 is not available to Ruby 3. Existing hooks can keep using the same scripts,
26
+ but their environment must select Ruby 3 with the gem installed.
27
+
23
28
  ## Development
24
29
 
25
- 1. Install dependencies with `bundle install` (install the `bundler` gem beforehand if necessary)
26
- 2. Run `rake install` to build and install the tool locally (`sudo` might be required based on how your Ruby was installed)
27
- 3. Run it using the command `multi`
30
+ 1. Select Ruby 3.4 and install Bundler 4 with `gem install bundler` if necessary
31
+ 2. Install dependencies with `bundle install`
32
+ 3. Run `bundle exec rake install` to build and install the tool into that Ruby environment
33
+ 4. Run it using the command `multi`
34
+
35
+ If you use Mise without making Ruby 3.4 your default, prefix these commands with
36
+ `mise exec ruby@3.4 --`.
28
37
 
29
38
  ## Motivation
30
39
 
@@ -13,19 +13,19 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://github.com/fortinmike/git-multirepo"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.required_ruby_version = '~> 2.0'
16
+ spec.required_ruby_version = '~> 3.4'
17
17
  spec.files = `git ls-files -z`.split("\x0")
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_development_dependency "bundler", "~> 2.0.1"
23
- spec.add_development_dependency "rake", "~> 12.3.2"
24
- spec.add_development_dependency "rspec", "~> 3.8.0"
22
+ spec.add_development_dependency "bundler", "~> 4.0", ">= 4.0.24"
23
+ spec.add_development_dependency "rake", "~> 13.4", ">= 13.4.2"
24
+ spec.add_development_dependency "rspec", "~> 3.13", ">= 3.13.2"
25
25
 
26
- spec.add_runtime_dependency "claide", "~> 1.0.2"
26
+ spec.add_runtime_dependency "claide", "~> 1.1"
27
27
  spec.add_runtime_dependency "colored", "~> 1.2"
28
- spec.add_runtime_dependency "os", "~> 1.0.0"
29
- spec.add_runtime_dependency "terminal-table", "~> 1.8.0"
30
- spec.add_runtime_dependency "naturally", "~> 2.2.0"
28
+ spec.add_runtime_dependency "os", "~> 1.1", ">= 1.1.4"
29
+ spec.add_runtime_dependency "terminal-table", "~> 4.0"
30
+ spec.add_runtime_dependency "naturally", "~> 2.3"
31
31
  end
@@ -11,7 +11,8 @@ module MultiRepo
11
11
  end
12
12
 
13
13
  def initialize(argv)
14
- @path = with_trailing_slash(argv.shift_argument)
14
+ @path = argv.shift_argument
15
+ @path = with_trailing_slash(@path) if @path
15
16
  super
16
17
  end
17
18
 
@@ -150,7 +150,7 @@ module MultiRepo
150
150
  meta_file = MetaFile.new(".").load
151
151
  main_repo_branch = main_repo.current_branch
152
152
 
153
- puts Terminal::Table.new do |t|
153
+ table = Terminal::Table.new do |t|
154
154
  t.title = "Revision Info"
155
155
  t.add_row ["Tracked Using", "git-multirepo #{meta_file.version}"]
156
156
  t.add_separator
@@ -161,6 +161,7 @@ module MultiRepo
161
161
  t.add_row [lock_entry.name, commit_info(lock_entry.head, branch_name)]
162
162
  end
163
163
  end
164
+ puts table
164
165
  end
165
166
 
166
167
  def commit_info(commit_id, branch_name)
@@ -1,6 +1,6 @@
1
1
  require "multirepo/utility/console"
2
2
  require "multirepo/utility/utils"
3
- require "multirepo/logic/performer"
3
+ require "multirepo/logic/node"
4
4
  require "multirepo/logic/repo-selection"
5
5
  require "multirepo/files/tracking-files"
6
6
  require "multirepo/git/git-runner"
@@ -68,9 +68,10 @@ module MultiRepo
68
68
 
69
69
  def update_dependencies
70
70
  any_changed = false
71
- Performer.depth_ordered_dependencies.each do |dependency|
72
- path = dependency.config_entry.path
73
- name = dependency.config_entry.name
71
+ # Discover dependencies from config while regenerating potentially stale locks
72
+ Node.new(".").ordered_descendants.each do |node|
73
+ path = node.path
74
+ name = node.name
74
75
  any_changed |= update_one(path, name) if Utils.multirepo_enabled?(path)
75
76
  end
76
77
  return any_changed
@@ -1,5 +1,6 @@
1
1
  require "fileutils"
2
2
  require "pathname"
3
+ require "psych"
3
4
 
4
5
  require_relative "config-entry"
5
6
 
@@ -25,7 +26,8 @@ module MultiRepo
25
26
 
26
27
  def load_entries
27
28
  ensure_access(file, "Can't read config file (permissions)") { |stat| stat.readable? }
28
- Psych.load(File.read(file))
29
+ # Preserve the object tags and aliases emitted by Psych.dump in existing files
30
+ Psych.safe_load(File.read(file), permitted_classes: [ConfigEntry], aliases: true)
29
31
  end
30
32
 
31
33
  def save_entries(entries)
@@ -46,7 +48,7 @@ module MultiRepo
46
48
  end
47
49
 
48
50
  def ensure_access(file, error_message, &check)
49
- fail MultiRepoException, error_message if File.exists?(file) && !check.call(File.stat(file))
51
+ fail MultiRepoException, error_message if File.exist?(file) && !check.call(File.stat(file))
50
52
  end
51
53
  end
52
54
  end
@@ -27,7 +27,8 @@ module MultiRepo
27
27
 
28
28
  def load_entries
29
29
  ensure_access(file, "Can't read lock file (permissions)") { |stat| stat.readable? }
30
- Psych.load(File.read(file))
30
+ # Preserve the object tags and aliases emitted by Psych.dump in existing files
31
+ Psych.safe_load(File.read(file), permitted_classes: [LockEntry], aliases: true)
31
32
  end
32
33
 
33
34
  def update
@@ -56,7 +57,7 @@ module MultiRepo
56
57
  end
57
58
 
58
59
  def ensure_access(file, error_message, &check)
59
- fail MultiRepoException, error_message if File.exists?(file) && !check.call(File.stat(file))
60
+ fail MultiRepoException, error_message if File.exist?(file) && !check.call(File.stat(file))
60
61
  end
61
62
  end
62
63
  end
@@ -35,7 +35,8 @@ module MultiRepo
35
35
 
36
36
  def load
37
37
  ensure_access(file, "Can't read meta file (permissions)") { |stat| stat.readable? }
38
- Psych.load(File.read(file))
38
+ # Preserve the object tags and aliases emitted by Psych.dump in existing files
39
+ Psych.safe_load(File.read(file), permitted_classes: [MetaFile], aliases: true)
39
40
  end
40
41
 
41
42
  def update
@@ -45,7 +46,7 @@ module MultiRepo
45
46
  end
46
47
 
47
48
  def ensure_access(file, error_message, &check)
48
- fail MultiRepoException, error_message if File.exists?(file) && !check.call(File.stat(file))
49
+ fail MultiRepoException, error_message if File.exist?(file) && !check.call(File.stat(file))
49
50
  end
50
51
  end
51
52
  end
@@ -1,5 +1,5 @@
1
1
  module MultiRepo
2
2
  NAME = "git-multirepo"
3
- VERSION = "78.0"
3
+ VERSION = "79.0"
4
4
  DESCRIPTION = "Track multiple Git repositories side-by-side."
5
5
  end
@@ -33,7 +33,8 @@ module MultiRepo
33
33
  unique_paths = descendants.map(&:path).uniq
34
34
  unique_nodes = unique_paths.collect do |path|
35
35
  nodes_for_path = descendants.select { |d| d.path == path }
36
- next nodes_for_path.sort_by(&:depth).first
36
+ # Keep the deepest occurrence so shared dependencies precede every dependent
37
+ next nodes_for_path.max_by(&:depth)
37
38
  end
38
39
 
39
40
  return unique_nodes.sort_by(&:depth).reverse
@@ -1,14 +1,10 @@
1
1
  require "multirepo/multirepo-exception"
2
2
  require "fileutils"
3
- require "uri"
4
3
 
5
4
  module MultiRepo
6
5
  class Utils
7
6
  def self.standard_path(p)
8
- path = URI.parse(p).path
9
- path.insert(0, '/') if (path[0] != '/')
10
- path.chomp!('/') if (path > '/')
11
- path
7
+ File.expand_path(p)
12
8
  end
13
9
 
14
10
  def self.only_one_true?(*flags)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-multirepo
3
3
  version: !ruby/object:Gem::Version
4
- version: '78.0'
4
+ version: '79.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michaël Fortin
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-04-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
@@ -16,56 +15,74 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: 2.0.1
18
+ version: '4.0'
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: 4.0.24
20
22
  type: :development
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
26
  - - "~>"
25
27
  - !ruby/object:Gem::Version
26
- version: 2.0.1
28
+ version: '4.0'
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 4.0.24
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: rake
29
34
  requirement: !ruby/object:Gem::Requirement
30
35
  requirements:
31
36
  - - "~>"
32
37
  - !ruby/object:Gem::Version
33
- version: 12.3.2
38
+ version: '13.4'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 13.4.2
34
42
  type: :development
35
43
  prerelease: false
36
44
  version_requirements: !ruby/object:Gem::Requirement
37
45
  requirements:
38
46
  - - "~>"
39
47
  - !ruby/object:Gem::Version
40
- version: 12.3.2
48
+ version: '13.4'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 13.4.2
41
52
  - !ruby/object:Gem::Dependency
42
53
  name: rspec
43
54
  requirement: !ruby/object:Gem::Requirement
44
55
  requirements:
45
56
  - - "~>"
46
57
  - !ruby/object:Gem::Version
47
- version: 3.8.0
58
+ version: '3.13'
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 3.13.2
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: 3.8.0
68
+ version: '3.13'
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: 3.13.2
55
72
  - !ruby/object:Gem::Dependency
56
73
  name: claide
57
74
  requirement: !ruby/object:Gem::Requirement
58
75
  requirements:
59
76
  - - "~>"
60
77
  - !ruby/object:Gem::Version
61
- version: 1.0.2
78
+ version: '1.1'
62
79
  type: :runtime
63
80
  prerelease: false
64
81
  version_requirements: !ruby/object:Gem::Requirement
65
82
  requirements:
66
83
  - - "~>"
67
84
  - !ruby/object:Gem::Version
68
- version: 1.0.2
85
+ version: '1.1'
69
86
  - !ruby/object:Gem::Dependency
70
87
  name: colored
71
88
  requirement: !ruby/object:Gem::Requirement
@@ -86,42 +103,48 @@ dependencies:
86
103
  requirements:
87
104
  - - "~>"
88
105
  - !ruby/object:Gem::Version
89
- version: 1.0.0
106
+ version: '1.1'
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 1.1.4
90
110
  type: :runtime
91
111
  prerelease: false
92
112
  version_requirements: !ruby/object:Gem::Requirement
93
113
  requirements:
94
114
  - - "~>"
95
115
  - !ruby/object:Gem::Version
96
- version: 1.0.0
116
+ version: '1.1'
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 1.1.4
97
120
  - !ruby/object:Gem::Dependency
98
121
  name: terminal-table
99
122
  requirement: !ruby/object:Gem::Requirement
100
123
  requirements:
101
124
  - - "~>"
102
125
  - !ruby/object:Gem::Version
103
- version: 1.8.0
126
+ version: '4.0'
104
127
  type: :runtime
105
128
  prerelease: false
106
129
  version_requirements: !ruby/object:Gem::Requirement
107
130
  requirements:
108
131
  - - "~>"
109
132
  - !ruby/object:Gem::Version
110
- version: 1.8.0
133
+ version: '4.0'
111
134
  - !ruby/object:Gem::Dependency
112
135
  name: naturally
113
136
  requirement: !ruby/object:Gem::Requirement
114
137
  requirements:
115
138
  - - "~>"
116
139
  - !ruby/object:Gem::Version
117
- version: 2.2.0
140
+ version: '2.3'
118
141
  type: :runtime
119
142
  prerelease: false
120
143
  version_requirements: !ruby/object:Gem::Requirement
121
144
  requirements:
122
145
  - - "~>"
123
146
  - !ruby/object:Gem::Version
124
- version: 2.2.0
147
+ version: '2.3'
125
148
  description: Track multiple Git repositories side-by-side.
126
149
  email:
127
150
  - fortinmike@irradiated.net
@@ -208,7 +231,6 @@ homepage: https://github.com/fortinmike/git-multirepo
208
231
  licenses:
209
232
  - MIT
210
233
  metadata: {}
211
- post_install_message:
212
234
  rdoc_options: []
213
235
  require_paths:
214
236
  - lib
@@ -216,15 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
238
  requirements:
217
239
  - - "~>"
218
240
  - !ruby/object:Gem::Version
219
- version: '2.0'
241
+ version: '3.4'
220
242
  required_rubygems_version: !ruby/object:Gem::Requirement
221
243
  requirements:
222
244
  - - ">="
223
245
  - !ruby/object:Gem::Version
224
246
  version: '0'
225
247
  requirements: []
226
- rubygems_version: 3.0.3
227
- signing_key:
248
+ rubygems_version: 3.6.9
228
249
  specification_version: 4
229
250
  summary: Track multiple Git repositories side-by-side
230
251
  test_files: