xref: /expo/docs/scripts/versionpatch.sh (revision 2925faf4)
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