Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: lawrence3699 <lawrence3699@users.noreply.github.com>
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
* feat(docker): add aliases for container, network, and system prune
This PR adds missing aliases for Docker prune commands (container, network, and system) to the docker plugin, improving consistency with the existing image and volume prune aliases.
* docs(docker): add prune aliases to README
Added 'dcprune', 'dnprune', and 'dsprune' aliases for container, network, and system pruning.
* docs(docker): add prune aliases to README
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.
Add a new plugin for the Hetzner Cloud CLI (hcloud) with:
- Auto-completion support
- Comprehensive aliases for all major hcloud commands
- Context management shortcuts
- Server, volume, network, and firewall management aliases
- Load balancer and certificate management shortcuts
- Documentation with complete alias reference
BREAKING CHANGE: `tfaa` (apply auto-approve) aliases are now named `tfa!`
to require extra effort on potentially destructive action, in a similar
fashion to destroy auto-approve.