ace-git-worktree 0.22.1 → 0.23.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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 657c7b373d89fe83a9950e50fe62beff7a1c2610951e8d714420bbb42d54da5e
|
|
4
|
+
data.tar.gz: aaa908624ab0191dfbad907e24308a0922bd299ad24179c5b5897dcbbb37d9ca
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8ca4f8f31064a54255b854a7f9477f227d1429bc44516ed88a73b8ee92717425179aa58a5e5cc0dabb8e30cdb60d3dc7cd0245c78574b4ef8106414edab23991
|
|
7
|
+
data.tar.gz: 329727b4de42a420b1e6c4aaa060e45e24cc6d21c97c787a873f4da333ed22dc8056bed32d229c13e9991068550945e87f573d4d760c4bb06b241771fc7a07c6
|
data/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
## [0.23.0] - 2026-09-27
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- PR lookups now go through the `ace-git-github` provider (`Ace::Git::Github::PrFetcher`) instead of the `PrMetadataFetcher` molecule removed from the ace-git 0.24 core; provider failures surface as classified `Provider*Error`s instead of the removed `Gh*Error` classes.
|
|
15
|
+
- Raised the `ace-git` dependency floor to `~> 0.24` and added `ace-git-github ~> 0.1.1` (cross-repository PR argument fix). Resolves the require-time `LoadError` (`ace/git/molecules/pr_metadata_fetcher`) that made released 0.22.1 incompatible with ace-git 0.24 and blocked adopting ace-review 0.55.0.
|
|
11
16
|
## [0.22.1] - 2026-09-02
|
|
12
17
|
|
|
13
18
|
### Technical
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "ace/git/github"
|
|
4
|
+
|
|
3
5
|
module Ace
|
|
4
6
|
module Git
|
|
5
7
|
module Worktree
|
|
@@ -55,9 +57,9 @@ module Ace
|
|
|
55
57
|
puts
|
|
56
58
|
show_help
|
|
57
59
|
1
|
|
58
|
-
rescue Ace::Git::
|
|
59
|
-
Ace::Git::
|
|
60
|
-
Ace::Git::
|
|
60
|
+
rescue Ace::Git::ProviderObjectNotFoundError,
|
|
61
|
+
Ace::Git::ProviderAuthenticationError,
|
|
62
|
+
Ace::Git::ProviderCliMissingError,
|
|
61
63
|
Ace::Git::TimeoutError => e
|
|
62
64
|
puts "Error: #{e.message}"
|
|
63
65
|
1
|
|
@@ -432,15 +434,15 @@ module Ace
|
|
|
432
434
|
|
|
433
435
|
puts "Creating worktree for PR ##{pr_number}..."
|
|
434
436
|
|
|
435
|
-
# Check gh CLI availability
|
|
436
|
-
unless Ace::Git::
|
|
437
|
+
# Check gh CLI availability via the GitHub provider (ace-git-github)
|
|
438
|
+
unless Ace::Git::Github::PrFetcher.installed?
|
|
437
439
|
puts "Error: gh CLI is required for PR worktree creation."
|
|
438
440
|
puts
|
|
439
441
|
puts gh_not_available_message
|
|
440
442
|
return 1
|
|
441
443
|
end
|
|
442
444
|
|
|
443
|
-
unless Ace::Git::
|
|
445
|
+
unless Ace::Git::Github::PrFetcher.authenticated?
|
|
444
446
|
puts "Error: gh CLI is not authenticated."
|
|
445
447
|
puts
|
|
446
448
|
puts "Authenticate with: gh auth login"
|
|
@@ -450,7 +452,7 @@ module Ace
|
|
|
450
452
|
# Fetch PR data
|
|
451
453
|
puts "Fetching PR information..."
|
|
452
454
|
begin
|
|
453
|
-
result = Ace::Git::
|
|
455
|
+
result = Ace::Git::Github::PrFetcher.fetch_metadata(pr_number.to_s)
|
|
454
456
|
|
|
455
457
|
unless result[:success]
|
|
456
458
|
puts "Error: #{result[:error]}"
|
|
@@ -493,8 +495,8 @@ module Ace
|
|
|
493
495
|
display_warnings(result[:warnings]) if result[:warnings]
|
|
494
496
|
1
|
|
495
497
|
end
|
|
496
|
-
rescue Ace::Git::
|
|
497
|
-
Ace::Git::
|
|
498
|
+
rescue Ace::Git::ProviderObjectNotFoundError, Ace::Git::ProviderAuthenticationError,
|
|
499
|
+
Ace::Git::ProviderCliMissingError => e
|
|
498
500
|
# Let specific ace-git errors be handled by handle_pr_fetch_error
|
|
499
501
|
# Other errors will bubble up to the top-level rescue in run()
|
|
500
502
|
handle_pr_fetch_error(e, pr_number)
|
|
@@ -868,7 +870,7 @@ module Ace
|
|
|
868
870
|
# Anti-corruption layer that translates gh CLI JSON output to internal format.
|
|
869
871
|
# This isolates worktree creation from gh CLI output structure changes.
|
|
870
872
|
#
|
|
871
|
-
# Expected metadata schema from
|
|
873
|
+
# Expected metadata schema from the GitHub provider PrFetcher (via gh pr view --json):
|
|
872
874
|
# {
|
|
873
875
|
# "number" => Integer,
|
|
874
876
|
# "title" => String,
|
|
@@ -898,11 +900,11 @@ module Ace
|
|
|
898
900
|
# @return [Integer] Exit code (always 1 for errors)
|
|
899
901
|
def handle_pr_fetch_error(error, pr_number)
|
|
900
902
|
case error
|
|
901
|
-
when Ace::Git::
|
|
903
|
+
when Ace::Git::ProviderObjectNotFoundError
|
|
902
904
|
handle_pr_not_found(error, pr_number)
|
|
903
|
-
when Ace::Git::
|
|
905
|
+
when Ace::Git::ProviderAuthenticationError
|
|
904
906
|
handle_gh_auth_error(error)
|
|
905
|
-
when Ace::Git::
|
|
907
|
+
when Ace::Git::ProviderCliMissingError
|
|
906
908
|
handle_gh_not_installed(error)
|
|
907
909
|
else
|
|
908
910
|
handle_unknown_error(error)
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
require "json"
|
|
4
4
|
require "open3"
|
|
5
|
-
require "ace/git/
|
|
5
|
+
require "ace/git/github"
|
|
6
|
+
require "ace/git/github/pr_fetcher"
|
|
6
7
|
|
|
7
8
|
module Ace
|
|
8
9
|
module Git
|
|
@@ -16,8 +17,8 @@ module Ace
|
|
|
16
17
|
@offline = offline
|
|
17
18
|
|
|
18
19
|
# Cache gh availability to avoid repeated checks
|
|
19
|
-
@gh_available = Ace::Git::
|
|
20
|
-
Ace::Git::
|
|
20
|
+
@gh_available = Ace::Git::Github::PrFetcher.installed? &&
|
|
21
|
+
Ace::Git::Github::PrFetcher.authenticated?
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
# Classify a candidate branch with GitHub PR evidence.
|
|
@@ -84,7 +85,7 @@ module Ace
|
|
|
84
85
|
retention_reason: "patch_mismatch"
|
|
85
86
|
}
|
|
86
87
|
end
|
|
87
|
-
rescue Ace::Git::
|
|
88
|
+
rescue Ace::Git::ProviderCliMissingError, Ace::Git::ProviderAuthenticationError, Ace::Git::TimeoutError
|
|
88
89
|
# Provider failure degradation
|
|
89
90
|
offline_result("unavailable")
|
|
90
91
|
end
|
|
@@ -124,7 +124,7 @@ module Ace
|
|
|
124
124
|
# Create a worktree for a Pull Request
|
|
125
125
|
#
|
|
126
126
|
# @param pr_number [Integer] PR number
|
|
127
|
-
# @param pr_data [Hash] PR data from Ace::Git::
|
|
127
|
+
# @param pr_data [Hash] PR data from Ace::Git::Github::PrFetcher
|
|
128
128
|
# @param options [Hash] Options for creation
|
|
129
129
|
# @return [Hash] Creation result
|
|
130
130
|
#
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ace-git-worktree
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.23.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michal Czyz
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-09-
|
|
10
|
+
date: 2026-09-27 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ace-support-cli
|
|
@@ -57,14 +57,28 @@ dependencies:
|
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0.
|
|
60
|
+
version: '0.24'
|
|
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: '0.
|
|
67
|
+
version: '0.24'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: ace-git-github
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 0.1.1
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: 0.1.1
|
|
68
82
|
- !ruby/object:Gem::Dependency
|
|
69
83
|
name: ace-task
|
|
70
84
|
requirement: !ruby/object:Gem::Requirement
|