guito 1.0.8 → 1.0.9
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
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to Guito are documented in this file. The project follows [S
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.0.9] - 2026-10-04
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Every right-click menu now does what it says. The copy actions (commit hash, commit subject, tag, branch, stash and worktree names, worktree paths, file paths) reach the clipboard even where the browser's Async Clipboard API is unavailable — Guito served on a LAN address or inside a webview — and show a message when copying is refused instead of failing silently. Menu items are no longer swallowed by an in-flight background refresh either: while a fetch runs, items that change the repository are visibly disabled until it finishes, and read-only ones stay clickable.
|
|
12
|
+
- **View Details** on a tag whose commit lies outside the loaded history now pages the log to it and selects it, exactly like clicking the tag row, and **Create Archive** on a side-panel row archives that row's ref instead of doing nothing.
|
|
13
|
+
- Checking out a remote branch whose local name already exists no longer fails: the dialog warns before running, and the checkout switches to the existing local branch and fast-forwards it to the remote, reporting a warning when the two have diverged.
|
|
14
|
+
- **Open Source Control View** works inside the VS Code panel (it now asks the extension host) instead of trying to open a `vscode://` link from an iframe.
|
|
15
|
+
|
|
7
16
|
## [1.0.8] - 2026-10-02
|
|
8
17
|
|
|
9
18
|
### Changed
|
package/bin/guito-server.js
CHANGED
|
@@ -1297,8 +1297,28 @@ export async function startGuitoServer({ repositoryPath, uiRoot, host, port = 80
|
|
|
1297
1297
|
: '';
|
|
1298
1298
|
if (newBranch) {
|
|
1299
1299
|
await verifyBranchName(newBranch);
|
|
1300
|
-
|
|
1301
|
-
|
|
1300
|
+
const branchExists = track && (await git.branchLocal()).all.includes(newBranch);
|
|
1301
|
+
if (branchExists) {
|
|
1302
|
+
// The name is taken: switch to the existing branch and sync it with
|
|
1303
|
+
// the remote ref instead of failing to create a duplicate.
|
|
1304
|
+
await git.raw(['checkout', newBranch]);
|
|
1305
|
+
try {
|
|
1306
|
+
await git.raw(['branch', '--set-upstream-to', ref, newBranch]);
|
|
1307
|
+
}
|
|
1308
|
+
catch {
|
|
1309
|
+
// Tracking is best effort; keep the branch's existing upstream.
|
|
1310
|
+
}
|
|
1311
|
+
try {
|
|
1312
|
+
await git.raw(['merge', '--ff-only', ref]);
|
|
1313
|
+
}
|
|
1314
|
+
catch (err) {
|
|
1315
|
+
warnings.push(`Branch "${newBranch}" was checked out but could not be synced with "${ref}". It may have diverged: ${err.message}`);
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
else {
|
|
1319
|
+
// --track sets the upstream when checking out a remote-tracking ref.
|
|
1320
|
+
await git.raw(['checkout', '-b', newBranch, ...(track ? ['--track'] : []), ref]);
|
|
1321
|
+
}
|
|
1302
1322
|
}
|
|
1303
1323
|
else {
|
|
1304
1324
|
await git.raw(['checkout', ...(detach ? ['--detach'] : []), ref]);
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
<style>:root{--bg:#1e1e1e;--bg-alt:#232323;--bg-hover:#2a2d2e;--border:#3c3c3c;--text:#cccccc;--text-bright:#e8e8e8;--text-dim:#9d9d9d;--accent:#3794ff;--red:#f14c4c;--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;color:var(--text);background:var(--bg);overflow:hidden}</style><link rel="stylesheet" href="styles-I7K2YZTW.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-I7K2YZTW.css"></noscript></head>
|
|
10
10
|
<body>
|
|
11
11
|
<app-root></app-root>
|
|
12
|
-
<script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-
|
|
12
|
+
<script src="polyfills-5CFQRCPP.js" type="module"></script><script src="main-VNIXKHUJ.js" type="module"></script></body>
|
|
13
13
|
</html>
|