renovatebot/renovate

Copier manager doesn't set `isExecutable` on added/modified files

Open

#42,239 建立於 2026年3月30日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)TypeScript (14,066 star) (1,916 fork)batch import
help wantedmanager:copierpriority-3-medium

描述

As noted in https://github.com/renovatebot/renovate/discussions/41438, when we're not making sure that the isExecutable flag in https://github.com/renovatebot/renovate/blob/42ee883ab854a5be7f86309858014e55fc5ee62b/lib/util/git/types.ts#L63 is set.

For instance, using the minimal repro:

% copier --version
copier 9.14.0
% copier update --skip-answered --defaults --answers-file .copier-answers.yml --vcs-ref v1.1.0
Updating to template version 1.1.0
jamietanna@caerbannog .venv tmp 41438 (git)-[main]* % gst
## main...origin/main
 M .copier-answers.yml
?? bin/
jamietanna@caerbannog .venv tmp 41438 (git)-[main]* % ls bin
deploy.sh
jamietanna@caerbannog .venv tmp 41438 (git)-[main]* % ls -al bin
total 4
drwxr-xr-x 3 jamietanna staff  96 Mar 30 09:45 .
drwxr-xr-x 8 jamietanna staff 256 Mar 30 09:45 ..
-rwxr-xr-x 1 jamietanna staff  48 Mar 30 09:45 deploy.sh

This does correctly copy an executable file, but when Renovate commits it does not set the isExecutable flag.

We need to correctly identify this, and then set it.

貢獻者指南

Copier manager doesn't set `isExecutable` on added/modified files · renovatebot/renovate#42239 | Good First Issue