Skip to content

Commit cfea3b7

Browse files
committed
feat: parse .ddev/config.yaml directly for container name
- Read project name from .ddev/config.yaml using grep/sed - Construct container name using ddev naming convention - More reliable than ddev describe and doesn't require jq - Enables docker exec -t for color support from outside container
1 parent cca3012 commit cfea3b7

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

booster/tools/git-hooks/shared/runner.sh

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@ if is_inside_container; then
2626
exec "$@"
2727
elif command -v ddev >/dev/null 2>&1; then
2828
# Try to use docker exec -t for better color support
29-
# Get the web container name from ddev
30-
container_name=$(ddev describe -j 2>/dev/null | jq -r '.raw.services.web.container_name' 2>/dev/null)
31-
32-
if [ -n "$container_name" ] && [ "$container_name" != "null" ] && command -v docker >/dev/null 2>&1; then
33-
# Use docker exec -t for TTY support and colors
34-
exec docker exec -t "$container_name" "$@"
35-
else
36-
# Fallback to ddev exec (no colors but still works)
37-
exec ddev exec "$@"
29+
# Get project name from .ddev/config.yaml to construct container name
30+
if [ -f ".ddev/config.yaml" ]; then
31+
project_name=$(grep "^name:" .ddev/config.yaml | sed 's/name: *//' | tr -d '"')
32+
container_name="ddev-${project_name}-web"
33+
34+
if [ -n "$project_name" ] && command -v docker >/dev/null 2>&1; then
35+
# Use docker exec -t for TTY support and colors
36+
exec docker exec -t "$container_name" "$@"
37+
fi
3838
fi
39+
40+
# Fallback to ddev exec (no colors but still works)
41+
exec ddev exec "$@"
3942
else
4043
exec "$@"
4144
fi

0 commit comments

Comments
 (0)