1442725c5SJimmy Lee#!/bin/bash 2442725c5SJimmy Lee 3442725c5SJimmy Leeif [[ $# -lt 2 ]] 4442725c5SJimmy Leethen 5442725c5SJimmy Lee echo "applies the current git diff in source version in each target version" 6442725c5SJimmy Lee echo "can be used to, for example, make changes in "'unversioned'" then" 7442725c5SJimmy Lee echo "duplicate those changes in previous versions" 8442725c5SJimmy Lee echo 9442725c5SJimmy Lee echo "usage: from docs directory," 10442725c5SJimmy Lee echo " ./scripts/versionpatch.sh <src> <target1> <target2> ..." 11442725c5SJimmy Lee echo 12442725c5SJimmy Lee echo "example:" 13442725c5SJimmy Lee echo " ./scripts/versionpatch.sh unversioned v8.0.0 v7.0.0" 14442725c5SJimmy Lee exit 15442725c5SJimmy Leefi 16442725c5SJimmy Lee 17442725c5SJimmy Leesrc_version=$1 18442725c5SJimmy Lee 19442725c5SJimmy Leeshift 20442725c5SJimmy Leefor version in $*; do 21442725c5SJimmy Lee echo Patching in `pwd` 22442725c5SJimmy Lee 23442725c5SJimmy Lee # copy new files 24a7c1cbceSNick Novitski pushd pages/versions/$src_version > /dev/null 25442725c5SJimmy Lee for f in $(git ls-files -o --exclude-standard); do 26442725c5SJimmy Lee mkdir -p ../$version/$(dirname $f) 27442725c5SJimmy Lee cp $f ../$version/$(dirname $f)/ 28442725c5SJimmy Lee done 29442725c5SJimmy Lee popd > /dev/null 30442725c5SJimmy Lee 31442725c5SJimmy Lee # patch changes in existing files 32a7c1cbceSNick Novitski pushd pages/versions/$version > /dev/null 33*2925faf4SNick Novitski git diff -- ../$src_version | patch -p5 34442725c5SJimmy Lee popd > /dev/null 35442725c5SJimmy Leedone 36