Skip to content

Instantly share code, notes, and snippets.

@gsnedders
Last active March 28, 2017 19:38
Show Gist options
  • Save gsnedders/09833dc35a60e7dcf5b6a458155c1b91 to your computer and use it in GitHub Desktop.
Save gsnedders/09833dc35a60e7dcf5b6a458155c1b91 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
git fetch --multiple origin csswg
git rm --force --ignore-unmatch -r css/tools/apiclient css/tools/w3ctestlib
rm -rf css/
git checkout -f css
git reset --hard csswg/master
git tag -f historic-csswg-test-master
cp "$0" /tmp
git clean -xfd
cp "/tmp/`basename $0`" "`dirname $0`"
git mv WOFF2-UserAgent/Tests/xhtml1 WOFF2
git mv WOFF2-UserAgent/OWNERS WOFF2
git rm -r WOFF2-UserAgent
rm -r WOFF2-UserAgent
git mv css-round-display css-round-display-1
git mv css-style-attr-1 css-style-attr
git mv css1 CSS1-mved
git mv CSS1-mved CSS1
git mv css21 CSS2
git mv filters-1 filter-effects-1
git mv selectors-4 selectors4
git mv css-box-3 css-block-3
git mv css-color-3 css3-color
git mv selectors-3 css3-selectors
sed -i.bak -e 's# WOFF2-UserAgent/Tests/xhtml1/# WOFF2/#' lint.whitelist
sed -i.bak -e 's# WOFF2-UserAgent/# WOFF2/#' lint.whitelist
sed -i.bak -e 's# css-round-display/# css-round-display-1/#' lint.whitelist
sed -i.bak -e 's# css-style-attr-1/# css-style-attr/#' lint.whitelist
sed -i.bak -e 's# css1/# CSS1/#' lint.whitelist
sed -i.bak -e 's# css21/# CSS2/#' lint.whitelist
sed -i.bak -e 's# filters-1/# filter-effects-1/#' lint.whitelist
sed -i.bak -e 's# selectors-4/# selectors4/#' lint.whitelist
sed -i.bak -e 's# css-box-3/# css-block-3/#' lint.whitelist
sed -i.bak -e 's# css-color-3/# css3-color/#' lint.whitelist
sed -i.bak -e 's# selectors-3/# css3-selectors/#' lint.whitelist
rm lint.whitelist.bak
git add lint.whitelist
sed -i.bak -e 's#\.\./css21/#../CSS2/#' css-fonts-3/font-size-adjust-005.xht css3-selectors/root-siblings.htm
rm css-fonts-3/font-size-adjust-005.xht.bak css3-selectors/root-siblings.htm.bak
git add css-fonts-3/font-size-adjust-005.xht css3-selectors/root-siblings.htm
git commit -m 'Move a bunch of CSS testsuites around to match their shortnames (#1246)'
mkdir css
find . -maxdepth 1 ! -name 'css' ! -name 'do-merge.sh' ! -name '.' ! -name '.git' -print0 | xargs -0 -I % git mv % css/
git commit -m 'Move everything to css/ in preparation for merge'
git checkout -f csswg_test_merged
git reset --hard origin/master
cp "$0" /tmp
git clean -xfd
cp "/tmp/`basename $0`" "`dirname $0`"
git merge --no-commit --allow-unrelated-histories css
git rm -f css/wpt_tools css/resources css/.gitmodules css/.hg*
sed -i.bak -e 's#:[[:space:]]*#&css/#' css/lint.whitelist
rm css/lint.whitelist.bak
cat css/lint.whitelist >> lint.whitelist
git add lint.whitelist
git rm -f css/.travis.yml
git rm -f css/lint css/lint.whitelist css/manifest css/serve css/serve.py css/config.default.json
git rm -f css/LICENSE.md css/CONTRIBUTING.md
git submodule add --force https://github.com/w3c/csswg-apiclient.git css/tools/apiclient
git submodule add --force https://github.com/w3c/csswg-w3ctestlib.git css/tools/w3ctestlib
git submodule update --init --recursive
cd tools
git fetch origin
git checkout origin/master
git submodule update --init --recursive
cd ..
git add tools
git commit -m 'Merge csswg-test into web-platform-tests'
OLD_MERGE=`git rev-list --min-parents=2 --max-count=1 origin/csswg_test_merged`
git format-patch --stdout "$OLD_MERGE..origin/csswg_test_merged" > to_apply.patch
git apply to_apply.patch
rm to_apply.patch
git add .
git reset HEAD do-merge.sh
git commit --fixup=HEAD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment