Skip to content

Instantly share code, notes, and snippets.

@danslo
Created March 1, 2019 09:11
Show Gist options
  • Save danslo/ad026652332dff1a5be91adbf6ea61d6 to your computer and use it in GitHub Desktop.
Save danslo/ad026652332dff1a5be91adbf6ea61d6 to your computer and use it in GitHub Desktop.
#!/bin/sh
CURRENT_DIRECTORY=$PWD
OUTPUT_DIRECTORY=patches/graphql
MAGENTO_DIRECTORY=$1
FROM_VERSION=$2
TO_VERSION=$3
mkdir -p $OUTPUT_DIRECTORY
cd $MAGENTO_DIRECTORY
MODULE_PATHS=$(git ls-tree --name-only $FROM_VERSION app/code/Magento/ | grep GraphQl$)
for MODULE_PATH in $MODULE_PATHS; do
COMPOSER_NAME=$(echo $MODULE_PATH | sed -e 's/app\/code\/Magento\//magento\/module/g' | sed -e 's/\([A-Z]\)/-\L\1/g')
ESCAPED_PATH=$(echo $MODULE_PATH | sed -e 's/\//\\\//g')
MODULE_NAME=$(echo $COMPOSER_NAME | sed -e 's/magento\///g')
DIFF_PATH=$OUTPUT_DIRECTORY/$TO_VERSION-$MODULE_NAME.diff
git diff $FROM_VERSION..$TO_VERSION $MODULE_PATH | sed -e "s/\/$ESCAPED_PATH//g" > $CURRENT_DIRECTORY/$DIFF_PATH
echo "\"$COMPOSER_NAME\": { \"$TO_VERSION graph-ql\": \"$DIFF_PATH\" },"
done
FRAMEWORK_DIFF_PATH=$OUTPUT_DIRECTORY/$TO_VERSION-framework.diff
git diff $FROM_VERSION..$TO_VERSION lib/internal/Magento/Framework/GraphQl | sed -e 's/lib\/internal\/Magento\/Framework\///g' > $CURRENT_DIRECTORY/$FRAMEWORK_DIFF_PATH
echo "\"magento/framework\": { \"$TO_VERSION graph-ql\": \"$FRAMEWORK_DIFF_PATH\" }"
cd $CURRENT_DIRECTORY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment