[PATCH v4 0/3] apply with core.filemode=false
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 26, 2023, 23:32 UTC
- Message-ID
- <20231226233218.472054-1-gitster@pobox.com>
- In-Reply-To
- <pull.1620.v3.git.1703066893657.gitgitgadget@gmail.com>
Chandra Pratap noticed that "git apply" on a filesystem without executable bit support gives a warning when applying a patch that expects the preimage file to have executable bit on. Dscho noticed that the initial fix by Chandra did not work well when applying a patch in reverse. It turns out that apply.c:reverse_patches() invalidates the "a patch that does not change mode bits have the mode bits in .old_mode member and not in .new_mode member" invariant we rely on.
Here is the result of concerted effort.
Chandra Pratap (1): apply: ignore working tree filemode when !core.filemode
Junio C Hamano (2): apply: correctly reverse patch's pre- and post-image mode bits apply: code simplification
apply.c | 16 +++++++++++++--- t/t4129-apply-samemode.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-)
-- 2.43.0-174-g055bb6e996