Skip to content

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

Open
@j-piasecki

Description

@j-piasecki

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 --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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions