herdr-worktreeinclude 0.1.0 → 0.2.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.
- package/CHANGELOG.md +4 -0
- package/README.md +7 -1
- package/herdr-plugin.toml +5 -3
- package/package.json +1 -1
- package/scripts/branch-cleanup-pane.sh +2 -4
- package/scripts/on-worktree-removed.sh +3 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes are published in the [GitHub Releases](https://github.com/serhii-chernenko/herdr-worktreeinclude/releases) generated from version tags.
|
|
4
4
|
|
|
5
|
+
## 0.2.0
|
|
6
|
+
|
|
7
|
+
- The branch-cleanup confirmation now opens as a small Herdr popup pane instead of a full overlay, using the `placement = "popup"` pane type added in Herdr 0.7.4. Raised `min_herdr_version` to `0.7.4` accordingly.
|
|
8
|
+
|
|
5
9
|
## 0.1.0
|
|
6
10
|
|
|
7
11
|
- Initial Herdr plugin: project-local worktrees, `.worktreeinclude` copying, and UI-first branch cleanup.
|
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# herdr-worktreeinclude
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/herdr-worktreeinclude)
|
|
4
|
+
[](https://www.npmjs.com/package/herdr-worktreeinclude)
|
|
5
|
+
[](https://github.com/serhii-chernenko/herdr-worktreeinclude/actions/workflows/ci.yml)
|
|
6
|
+
[](https://github.com/serhii-chernenko/herdr-worktreeinclude/stargazers)
|
|
7
|
+
[](https://herdr.dev/docs/marketplace/)
|
|
8
|
+
|
|
3
9
|
A [Herdr](https://herdr.dev) plugin that keeps Herdr-created Git worktrees inside the project and restores selected ignored files into them.
|
|
4
10
|
|
|
5
11
|
## What it does
|
|
@@ -10,7 +16,7 @@ Use Herdr's normal **New worktree** UI. After creation, the plugin automatically
|
|
|
10
16
|
- copies files selected by `.worktreeinclude` from the primary checkout;
|
|
11
17
|
- opens the relocated worktree as the active Herdr workspace.
|
|
12
18
|
|
|
13
|
-
When you remove a plugin-managed worktree through Herdr's normal UI, an unchanged branch (one already contained in the primary checkout's `HEAD`) is removed silently. For a branch with unique commits, Herdr shows
|
|
19
|
+
When you remove a plugin-managed worktree through Herdr's normal UI, an unchanged branch (one already contained in the primary checkout's `HEAD`) is removed silently. For a branch with unique commits, Herdr shows a small popup pane: press `d` to safely delete the local branch or Enter to keep it.
|
|
14
20
|
|
|
15
21
|
The plugin cannot change Herdr's built-in creation/removal dialogs. It uses lifecycle hooks immediately after those dialogs complete.
|
|
16
22
|
|
package/herdr-plugin.toml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id = "serhii-chernenko.worktreeinclude"
|
|
2
2
|
name = "Project-local Worktrees"
|
|
3
|
-
version = "0.
|
|
4
|
-
min_herdr_version = "0.7.
|
|
3
|
+
version = "0.2.0"
|
|
4
|
+
min_herdr_version = "0.7.4"
|
|
5
5
|
description = "Creates project-local Git worktrees and restores ignored files selected by .worktreeinclude."
|
|
6
6
|
platforms = ["macos", "linux"]
|
|
7
7
|
|
|
@@ -22,5 +22,7 @@ command = ["bash", "scripts/create-worktree.sh"]
|
|
|
22
22
|
[[panes]]
|
|
23
23
|
id = "branch-cleanup"
|
|
24
24
|
title = "Delete local branch?"
|
|
25
|
-
placement = "
|
|
25
|
+
placement = "popup"
|
|
26
|
+
width = 76
|
|
27
|
+
height = 12
|
|
26
28
|
command = ["bash", "scripts/branch-cleanup-pane.sh"]
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# Herdr
|
|
2
|
+
# Herdr popup pane shown after a worktree checkout has been removed.
|
|
3
|
+
# Popups have no pane id and close automatically when this script exits.
|
|
3
4
|
set -euo pipefail
|
|
4
5
|
|
|
5
6
|
source_root=${HERDR_WORKTREEINCLUDE_SOURCE:?Missing source repository}
|
|
@@ -15,6 +16,3 @@ printf '\n'
|
|
|
15
16
|
if [[ "$choice" == "d" || "$choice" == "D" ]]; then
|
|
16
17
|
git -C "$source_root" branch -d -- "$branch" >&2 || true
|
|
17
18
|
fi
|
|
18
|
-
|
|
19
|
-
herdr_bin=${HERDR_BIN_PATH:-herdr}
|
|
20
|
-
"$herdr_bin" plugin pane close "${HERDR_PANE_ID:?Missing Herdr pane id}" || true
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# Open an in-Herdr branch-cleanup
|
|
2
|
+
# Open an in-Herdr branch-cleanup popup after a plugin-managed checkout is
|
|
3
3
|
# removed. This hook deliberately does not use macOS dialogs.
|
|
4
4
|
set -euo pipefail
|
|
5
5
|
|
|
@@ -30,7 +30,6 @@ fi
|
|
|
30
30
|
"$herdr_bin" plugin pane open \
|
|
31
31
|
--plugin "${HERDR_PLUGIN_ID:-serhii-chernenko.worktreeinclude}" \
|
|
32
32
|
--entrypoint branch-cleanup \
|
|
33
|
-
--placement
|
|
33
|
+
--placement popup \
|
|
34
34
|
--env "HERDR_WORKTREEINCLUDE_SOURCE=$source" \
|
|
35
|
-
--env "HERDR_WORKTREEINCLUDE_BRANCH=$branch"
|
|
36
|
-
--focus
|
|
35
|
+
--env "HERDR_WORKTREEINCLUDE_BRANCH=$branch"
|