ace-git-worktree 0.25.1 → 0.26.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
- data/.ace-defaults/git/worktree.yml +2 -2
- data/.ace-defaults/nav/protocols/skill-sources/ace-git-worktree.yml +0 -0
- data/.ace-defaults/nav/protocols/wfi-sources/ace-git-worktree.yml +0 -0
- data/CHANGELOG.md +15 -0
- data/LICENSE +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/docs/demo/ace-git-worktree-getting-started.gif +0 -0
- data/docs/demo/ace-git-worktree-getting-started.tape.yml +0 -0
- data/docs/demo/fixtures/README.md +0 -0
- data/docs/demo/fixtures/sample.txt +0 -0
- data/docs/handbook.md +0 -0
- data/handbook/agents/worktree.ag.md +0 -0
- data/handbook/skills/as-git-worktree/SKILL.md +0 -0
- data/handbook/skills/as-git-worktree-cleanup/SKILL.md +0 -0
- data/handbook/skills/as-git-worktree-create/SKILL.md +0 -0
- data/handbook/skills/as-git-worktree-manage/SKILL.md +0 -0
- data/handbook/workflow-instructions/git/worktree-cleanup.wf.md +1 -1
- data/handbook/workflow-instructions/git/worktree-create.wf.md +0 -0
- data/handbook/workflow-instructions/git/worktree-manage.wf.md +0 -0
- data/handbook/workflow-instructions/git/worktree.wf.md +0 -0
- data/lib/ace/git/worktree/atoms/git_command.rb +0 -0
- data/lib/ace/git/worktree/atoms/path_expander.rb +0 -0
- data/lib/ace/git/worktree/atoms/slug_generator.rb +0 -0
- data/lib/ace/git/worktree/atoms/task_id_extractor.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/bootstrap.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/cleanup.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/config.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/create.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/list.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/prune.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/remove.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/shared_helpers.rb +0 -0
- data/lib/ace/git/worktree/cli/commands/switch.rb +0 -0
- data/lib/ace/git/worktree/cli.rb +0 -0
- data/lib/ace/git/worktree/commands/bootstrap_command.rb +0 -0
- data/lib/ace/git/worktree/commands/list_command.rb +0 -0
- data/lib/ace/git/worktree/commands/prune_command.rb +0 -0
- data/lib/ace/git/worktree/commands/remove_command.rb +0 -0
- data/lib/ace/git/worktree/commands/switch_command.rb +0 -0
- data/lib/ace/git/worktree/configuration.rb +0 -0
- data/lib/ace/git/worktree/models/worktree_info.rb +0 -0
- data/lib/ace/git/worktree/models/worktree_metadata.rb +0 -0
- data/lib/ace/git/worktree/molecules/bootstrap_executor.rb +0 -0
- data/lib/ace/git/worktree/molecules/cleanup_applier.rb +0 -0
- data/lib/ace/git/worktree/molecules/config_loader.rb +0 -0
- data/lib/ace/git/worktree/molecules/current_task_linker.rb +0 -0
- data/lib/ace/git/worktree/molecules/hook_executor.rb +0 -0
- data/lib/ace/git/worktree/molecules/parent_task_resolver.rb +0 -0
- data/lib/ace/git/worktree/molecules/task_committer.rb +31 -31
- data/lib/ace/git/worktree/molecules/task_fetcher.rb +0 -0
- data/lib/ace/git/worktree/molecules/task_pusher.rb +0 -0
- data/lib/ace/git/worktree/molecules/task_status_updater.rb +0 -0
- data/lib/ace/git/worktree/molecules/toolchain_truster.rb +0 -0
- data/lib/ace/git/worktree/molecules/worktree_lister.rb +0 -0
- data/lib/ace/git/worktree/molecules/worktree_remover.rb +0 -0
- data/lib/ace/git/worktree/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a51dd94ea8eeadcabd99be5d79ee88d9c536114637c58781d8ac8c8089243587
|
|
4
|
+
data.tar.gz: a8389cc335baa6559bf8ee4f88b167ceb90ca2c0669341f72f632f0c81968f40
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8a65769172a854d95a44dd5d268ed14fd73a259b652978955139c7a5ac1f0653e7d78d47e5149dd17a90c9835f3281bf2fcf13111d67561e7458d5324b75f933
|
|
7
|
+
data.tar.gz: 7412edb73d8944f55c50b4fecb7fa8ca6e977cdcd59f2b4377fa5f823d5207bae36becfba4cc2d1a5305184d6d8acd526c530710e50fee2e507c5b114d85290c
|
|
@@ -81,8 +81,8 @@ git:
|
|
|
81
81
|
auto_setup_upstream: false
|
|
82
82
|
|
|
83
83
|
# Automatically create draft PR after pushing branch
|
|
84
|
-
# If true, creates a draft PR
|
|
85
|
-
# Requires:
|
|
84
|
+
# If true, creates a draft PR through the resolved forge provider
|
|
85
|
+
# Requires: provider configuration and authentication for the target repository
|
|
86
86
|
# NOTE: Defaults to false - enable explicitly for automated workflows
|
|
87
87
|
auto_create_pr: false
|
|
88
88
|
|
|
File without changes
|
|
File without changes
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.26.1] - 2026-10-10
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Make `TaskCommitter#commit_scoped` public so task-aware worktree creation can commit task bookkeeping through the orchestrator.
|
|
15
|
+
- Describe automatic draft creation through the configured forge provider in the shipped defaults.
|
|
16
|
+
|
|
17
|
+
## [0.26.0] - 2026-10-05
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Declare the required direct dependencies and minimum producer versions for this coordinated release: `ace-git ~> 0.29`, `ace-herdr ~> 0.4`.
|
|
22
|
+
|
|
23
|
+
- Describe cleanup preservation using selected-forge PR evidence rather than GitHub-specific evidence.
|
|
24
|
+
|
|
10
25
|
## [0.25.1] - 2026-10-04
|
|
11
26
|
|
|
12
27
|
### Changed
|
data/LICENSE
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
File without changes
|
data/Rakefile
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/docs/handbook.md
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -21,7 +21,7 @@ ace-git-worktree cleanup --target main --remote origin
|
|
|
21
21
|
This will:
|
|
22
22
|
1. Refresh remote evidence (unless `--offline` is passed).
|
|
23
23
|
2. Find all worktrees, local refs, and remote refs.
|
|
24
|
-
3. Classify each using
|
|
24
|
+
3. Classify each using selected-forge PR evidence (exact merge, stable patch equivalence) or Git ancestry.
|
|
25
25
|
4. Output an ordered plan with a **Plan Digest**.
|
|
26
26
|
|
|
27
27
|
### Report Output Interpretation
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/ace/git/worktree/cli.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -192,6 +192,37 @@ module Ace
|
|
|
192
192
|
@ace_git_commit_available = result[:success]
|
|
193
193
|
end
|
|
194
194
|
|
|
195
|
+
# Commit scoped files and return commit metadata + changed path list
|
|
196
|
+
#
|
|
197
|
+
# @param files [Array<String>] Files to commit
|
|
198
|
+
# @param message [String] Commit message
|
|
199
|
+
# @return [Hash] Result with :success, :commit_sha, :committed_paths, :error
|
|
200
|
+
def commit_scoped(files, message)
|
|
201
|
+
existing_files = Array(files).select { |file| File.exist?(file) }
|
|
202
|
+
return {success: false, commit_sha: nil, committed_paths: [], error: "No existing files to commit"} if existing_files.empty?
|
|
203
|
+
|
|
204
|
+
success = commit_with_message(existing_files, message)
|
|
205
|
+
return {success: false, commit_sha: nil, committed_paths: [], error: "Commit failed"} unless success
|
|
206
|
+
|
|
207
|
+
sha_res = execute_git_command("rev-parse", "HEAD")
|
|
208
|
+
sha = sha_res[:success] ? sha_res[:output].strip : nil
|
|
209
|
+
|
|
210
|
+
committed_paths = []
|
|
211
|
+
if sha
|
|
212
|
+
diff_res = execute_git_command("diff-tree", "--no-commit-id", "--name-only", "-r", sha)
|
|
213
|
+
if diff_res[:success]
|
|
214
|
+
committed_paths = diff_res[:output].to_s.lines.map(&:strip).reject(&:empty?)
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
{
|
|
219
|
+
success: true,
|
|
220
|
+
commit_sha: sha,
|
|
221
|
+
committed_paths: committed_paths,
|
|
222
|
+
error: nil
|
|
223
|
+
}
|
|
224
|
+
end
|
|
225
|
+
|
|
195
226
|
private
|
|
196
227
|
|
|
197
228
|
# Generate a commit message based on status and task ID
|
|
@@ -254,37 +285,6 @@ module Ace
|
|
|
254
285
|
commit_result[:success]
|
|
255
286
|
end
|
|
256
287
|
|
|
257
|
-
# Commit scoped files and return commit metadata + changed path list
|
|
258
|
-
#
|
|
259
|
-
# @param files [Array<String>] Files to commit
|
|
260
|
-
# @param message [String] Commit message
|
|
261
|
-
# @return [Hash] Result with :success, :commit_sha, :committed_paths, :error
|
|
262
|
-
def commit_scoped(files, message)
|
|
263
|
-
existing_files = Array(files).select { |file| File.exist?(file) }
|
|
264
|
-
return {success: false, commit_sha: nil, committed_paths: [], error: "No existing files to commit"} if existing_files.empty?
|
|
265
|
-
|
|
266
|
-
success = commit_with_message(existing_files, message)
|
|
267
|
-
return {success: false, commit_sha: nil, committed_paths: [], error: "Commit failed"} unless success
|
|
268
|
-
|
|
269
|
-
sha_res = execute_git_command("rev-parse", "HEAD")
|
|
270
|
-
sha = sha_res[:success] ? sha_res[:output].strip : nil
|
|
271
|
-
|
|
272
|
-
committed_paths = []
|
|
273
|
-
if sha
|
|
274
|
-
diff_res = execute_git_command("diff-tree", "--no-commit-id", "--name-only", "-r", sha)
|
|
275
|
-
if diff_res[:success]
|
|
276
|
-
committed_paths = diff_res[:output].to_s.lines.map(&:strip).reject(&:empty?)
|
|
277
|
-
end
|
|
278
|
-
end
|
|
279
|
-
|
|
280
|
-
{
|
|
281
|
-
success: true,
|
|
282
|
-
commit_sha: sha,
|
|
283
|
-
committed_paths: committed_paths,
|
|
284
|
-
error: nil
|
|
285
|
-
}
|
|
286
|
-
end
|
|
287
|
-
|
|
288
288
|
# Commit all changes using direct git commands
|
|
289
289
|
#
|
|
290
290
|
# @param message [String] Commit message
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
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.26.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michal Czyz
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-10-
|
|
10
|
+
date: 2026-10-12 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ace-support-cli
|
|
@@ -57,14 +57,14 @@ dependencies:
|
|
|
57
57
|
requirements:
|
|
58
58
|
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0.
|
|
60
|
+
version: '0.29'
|
|
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.29'
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
69
|
name: ace-task
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -113,14 +113,14 @@ dependencies:
|
|
|
113
113
|
requirements:
|
|
114
114
|
- - "~>"
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: 0.
|
|
116
|
+
version: '0.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: 0.
|
|
123
|
+
version: '0.4'
|
|
124
124
|
- !ruby/object:Gem::Dependency
|
|
125
125
|
name: rake
|
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|