renovatebot/renovate
Copier manager doesn't set `isExecutable` on added/modified files
開放
#42,239 建立於 2026年3月30日
help wantedmanager:copierpriority-3-medium
倉庫指標
- 星標
- (14,066 顆星)
- PR 合併指標
- (平均合併 2天 23小時) (30 天內合併 339 個 PR)
描述
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.