ds300 / ds300/patch-package

Patch cannot be applied when it simultaneously renames and modifies the file

Open
#518 5 comments 9 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
11.2k
Forks
325
PR merge metrics
No merged PRs in 30d

Description

# Description

Patches are successfully applied when they either only modify a specific file or change its name, but fail when doing both at the same time.

# Steps to reproduce

#### `patch-package` version: 8.0.0

1. Initialize npm project
2. Install any package (for example `react-native-wiejskie-ziemniaczki`)
3. Select any file in the installed package, rename it and modify its content (in case of the aforementioned package rename `README.md` to `not-readme.txt` and add `A` letter at the end of the file)
4. Generate the patch file
5. Reinstall `node_modules`
6. Try to apply the patch
7. The patch should get applied, but the error is shown

Interestingly, the patch is applied correctly when running `npx patch-package --partial`

Here is the patch file that generated error for me:
```diff
diff --git a/node_modules/react-native-wiejskie-ziemniaczki/README.md b/node_modules/react-native-wiejskie-ziemniaczki/not-readme.txt
similarity index 97%
rename from node_modules/react-native-wiejskie-ziemniaczki/README.md
rename to node_modules/react-native-wiejskie-ziemniaczki/not-readme.txt
index 7ff824b..b5b7bf7 100644
--- a/node_modules/react-native-wiejskie-ziemniaczki/README.md
+++ b/node_modules/react-native-wiejskie-ziemniaczki/not-readme.txt
@@ -1,3 +1,5 @@
# react-native-wiejskie-ziemniaczki

Documentation available on: https://wiejskieziemniaczki.pl/
+
+A
\ No newline at end of file
```

# Workaround

Splitting the patch into two parts seems to be working well, i.e.: one patch just to rename the file and the other to modify the content.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.