1
0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2026-02-11 05:39:45 +08:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Matthew Boston
11738264b8
Merge d3c66c3405 into 41c5b9677a 2026-02-09 18:33:48 +05:30
dependabot[bot]
41c5b9677a
chore(deps): bump github/codeql-action from 4.32.0 to 4.32.2 (#13558)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.0 to 4.32.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b20883b0cd...45cbd0c69e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-08 21:09:55 +01:00
dependabot[bot]
116be8badd
chore(deps): bump step-security/harden-runner from 2.14.1 to 2.14.2 (#13557)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.14.1 to 2.14.2.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](e3f713f2d8...5ef0c079ce)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-08 21:09:10 +01:00
Matthew Boston
d3c66c3405
fix(git-prompt): improve branch name resolution using symbolic-ref
Problem:
In worktrees, enabling reftable caused the gitfast prompt to sometimes show “.invalid” for the branch name, e.g. `git:(.invalid|SPARSE)`. The cause was gitfast’s __git_ps1 reading $GIT_DIR/HEAD (and sequencer head-name files) directly and attempting to derive the ref name by string slicing. That approach is brittle with worktrees and newer ref backends like reftable.

What changed:
- Prefer `git symbolic-ref --short HEAD` to resolve the branch name.
- Also use `--short` when HEAD is a symlink.
- Keep existing fallbacks (describe/detached SHA) unchanged.

Why this is correct:
- Delegates ref resolution to Git’s ref API, which understands:
  - multiple worktrees (`.git/worktrees/<name>/HEAD`)
  - all ref storage backends (loose, packed, reftable)
  - edge cases around in-progress operations and symlinks
- Avoids parsing internal files that can legitimately be non-canonical or transient (e.g., head-name during rebase, or placeholders that appear as “.invalid” with reftable+worktrees).

Impact:
- Correct branch names in worktrees regardless of ref backend (fixes “.invalid”).
- Detached HEAD behavior remains: still falls back to describe/short SHA.
- `|SPARSE` logic unchanged and still driven by `core.sparseCheckout`.
- Backwards-compatible: older Git that supports `symbolic-ref --short` works; fallbacks still apply if not a branch.

Rationale:
Ref backends like reftable decouple refs from the filesystem layout that gitfast was implicitly depending on. Using Git’s plumbing for branch resolution is the robust, future-proof approach.
2026-01-23 16:11:15 -07:00
6 changed files with 11 additions and 8 deletions

View File

@ -13,7 +13,7 @@ jobs:
contents: write # this is needed to push commits and branches contents: write # this is needed to push commits and branches
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with: with:
egress-policy: audit egress-policy: audit

View File

@ -26,7 +26,7 @@ jobs:
- macos-latest - macos-latest
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with: with:
egress-policy: audit egress-policy: audit
@ -47,7 +47,7 @@ jobs:
- test - test
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with: with:
egress-policy: audit egress-policy: audit

View File

@ -24,7 +24,7 @@ jobs:
if: github.repository == 'ohmyzsh/ohmyzsh' if: github.repository == 'ohmyzsh/ohmyzsh'
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with: with:
egress-policy: audit egress-policy: audit

View File

@ -17,7 +17,7 @@ jobs:
if: github.repository == 'ohmyzsh/ohmyzsh' if: github.repository == 'ohmyzsh/ohmyzsh'
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with: with:
egress-policy: audit egress-policy: audit
- name: Authenticate as @ohmyzsh - name: Authenticate as @ohmyzsh

View File

@ -36,7 +36,7 @@ jobs:
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9 # v2.14.1 uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with: with:
egress-policy: audit egress-policy: audit
@ -60,6 +60,6 @@ jobs:
retention-days: 5 retention-days: 5
- name: "Upload to code-scanning" - name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0 uses: github/codeql-action/upload-sarif@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v4.32.2
with: with:
sarif_file: results.sarif sarif_file: results.sarif

View File

@ -474,9 +474,12 @@ __git_ps1 ()
if [ -n "$b" ]; then if [ -n "$b" ]; then
: :
# Prefer symbolic-ref short name resolution (works well with worktrees)
elif symref_short="$(git symbolic-ref --quiet --short HEAD 2>/dev/null)" && [ -n "$symref_short" ]; then
b="$symref_short"
elif [ -h "$g/HEAD" ]; then elif [ -h "$g/HEAD" ]; then
# symlink symbolic ref # symlink symbolic ref
b="$(git symbolic-ref HEAD 2>/dev/null)" b="$(git symbolic-ref --short HEAD 2>/dev/null)"
else else
local head="" local head=""
if ! __git_eread "$g/HEAD" head; then if ! __git_eread "$g/HEAD" head; then