File vlc-beta.rebase-changes.sh of Package vlc-beta (Revision a533fcb7f355c9ae1f93c395a2f1561b)
Currently displaying revision a533fcb7f355c9ae1f93c395a2f1561b , Show latest
79
1
2
set -e
3
unset LANG
4
unset ${!LC_*}
5
read td < <(mktemp --directory --tmpdir=/dev/shm .XXX)
6
trap "rm -rf '${td}'" EXIT
7
#
8
d_extract="${td}/e"
9
d_old="${td}/o"
10
d_new="${td}/n"
11
#
12
read vlc_beta_pkg < <(readlink -f "$1")
13
read vlc_git < <(readlink -f "$2")
14
#
15
test -f "${vlc_git}/.git/config"
16
test -f "${vlc_beta_pkg}/.osc/_package"
17
read pkg < "$_"
18
test "${pkg}" = 'vlc-beta'
19
mkdir "${d_extract}" "${d_old}" "${d_new}"
20
pushd "${vlc_beta_pkg}" > /dev/null
21
for patch in *.patch
22
do
23
sed '
24
/^---[[:blank:]]/d
25
/^+++[[:blank:]]/d
26
/^@@[[:blank:]]/d
27
' < "${patch}" > "${d_old}/${patch}"
28
done
29
popd > /dev/null
30
#
31
pushd "${vlc_git}" > /dev/null
32
git --no-pager checkout master
33
git --no-pager pull
34
git --no-pager log --oneline -n1
35
git --no-pager checkout vlc-beta
36
git --no-pager rebase master
37
git --no-pager format-patch --no-base --quiet --output-directory "${d_extract}" master..HEAD
38
#
39
sed -i -n '
40
: sep
41
n
42
/^---$/b stat
43
b sep
44
: stat
45
n
46
/^$/b body
47
b stat
48
: body
49
n
50
/^diff[[:blank:]]\+--git[[:blank:]]\+/b body
51
/^index[[:blank:]]\+[0-9a-f]\+/b body
52
p
53
b body
54
' "${d_extract}"/*.patch
55
popd > /dev/null
56
#
57
pushd "${d_extract}" > /dev/null
58
for patch in *.patch
59
do
60
o="${patch}"
61
n="${patch#*-}"
62
mv "${o}" "${n}"
63
sed '
64
/^---[[:blank:]]/d
65
/^+++[[:blank:]]/d
66
/^@@[[:blank:]]/d
67
' < "${n}" > "${d_new}/${n}"
68
if diff -u "${d_old}/${n}" "${d_new}/${n}"
69
then
70
rm "${n}"
71
else
72
mv -vit "${vlc_beta_pkg}" "${n}"
73
fi
74
done
75
popd > /dev/null
76
pushd "${vlc_beta_pkg}" > /dev/null
77
osc st
78
popd > /dev/null
79