Allow binary files to be upgraded

Summary:
`react-native-git-upgrade` doesn't handle the binary files. An error is thrown if the user has changed the default Android icons. See #11402

With this PR, the upgrader would also be ready for the assets optimization: #10408 by GantMan

- Publish `react-native-git-upgrade` to sinopia
- `npm install -g react-native-git-upgrade`

- Init a new project with an old version: `react-native init MyApp --version=0.40.0`
- Replace an Android icon (i.e. `MyApp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png`) by any other image file.
- Change the content of a text file.
- Run `react-native-git-upgrade`

👉 The project is upgraded successfully.
👉 The replaced image file is still here.
👉 The text change is still here.

- Replace an Android icon in the RN sources (i.e. https://github.com/facebook/react-native/blob/master/local-cli/templates/HelloWorld/android/app/src/mai
Closes https://github.com/facebook/react-native/pull/12201

Differential Revision: D4543190

Pulled By: mkonicek

fbshipit-source-id: f1df32ee064557220deed717a129c3e175a6e9e2
This commit is contained in:
Nicolas Cuillery 2017-02-10 07:16:09 -08:00 коммит произвёл Facebook Github Bot
Родитель 36ab9f6a60
Коммит 1116a59019
2 изменённых файлов: 2 добавлений и 2 удалений

2
react-native-git-upgrade/cliEntry.js поставляемый
Просмотреть файл

@ -317,7 +317,7 @@ async function run(requestedVersion, cliArgs) {
await exec('git commit -m "New version" --allow-empty', verbose); await exec('git commit -m "New version" --allow-empty', verbose);
log.info('Generate the patch between the 2 versions'); log.info('Generate the patch between the 2 versions');
const diffOutput = await exec('git diff HEAD~1 HEAD --no-color', verbose); const diffOutput = await exec('git diff --binary --no-color HEAD~1 HEAD', verbose);
log.info('Save the patch in temp directory'); log.info('Save the patch in temp directory');
const patchPath = path.resolve(tmpDir, `upgrade_${currentVersion}_${newVersion}.patch`); const patchPath = path.resolve(tmpDir, `upgrade_${currentVersion}_${newVersion}.patch`);

Просмотреть файл

@ -1,6 +1,6 @@
{ {
"name": "react-native-git-upgrade", "name": "react-native-git-upgrade",
"version": "0.2.4", "version": "0.2.6",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"description": "The React Native upgrade tool", "description": "The React Native upgrade tool",
"main": "cli.js", "main": "cli.js",