Skip to content

Instantly share code, notes, and snippets.

@morozov
Created August 12, 2020 16:44
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save morozov/1bebcc7af1553f19cd1a542e3dba9c0d to your computer and use it in GitHub Desktop.
Generates the diff between Composer autload files from a pull request
#!/usr/bin/env bash
set -eu
if [ $# -ne 1 ]; then
echo "Usage: `basename $0` <pull>";
exit 1;
fi
PULL="$1"
rm -rf /tmp/composer
mkdir -p /tmp/composer/{base,head}
git fetch -f upstream "pull/$PULL/head:pull/$PULL"
git checkout "pull/$PULL"
composer install --no-dev --optimize-autoloader
cp vendor/composer/autoload_*.php /tmp/composer/head/
# https://stackoverflow.com/a/30563070/146187
MERGE_BASE=$(diff -u \
<(git rev-list --first-parent upstream/master) \
<(git rev-list --first-parent HEAD) \
| sed -ne "s/^ //p" \
| head -1
)
git checkout "$MERGE_BASE"
composer install --no-dev --optimize-autoloader
cp vendor/composer/autoload_*.php /tmp/composer/base/
diff -ru /tmp/composer/{base,head}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment