Introduce external/onlineupdate/monitor-sources.sh

...to: "Monitor any changes in upstream git repo $1 between revisions $2 and $3
that affect files that we copy with our
external/onlineupdate/generate-sources.sh"

(and while at it add license boilerplate and a descriptive comment to
external/onlineupdate/generate-sources.sh)

Change-Id: I2872d04c2db9d3a7226a9e744d84367ae7aa8672
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161665
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
(cherry picked from commit 070a6334b6df6eb1b1835629f441a1a194e6d322)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161676
diff --git a/external/onlineupdate/generate-sources.sh b/external/onlineupdate/generate-sources.sh
index 8f11faf..8b6ebeb 100755
--- a/external/onlineupdate/generate-sources.sh
+++ b/external/onlineupdate/generate-sources.sh
@@ -1,4 +1,14 @@
#!/bin/sh
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

# Generate an external tarball from upstream git repo $1 (optionally using $2 in the tarball name):

set -ex

source=${1?}
diff --git a/external/onlineupdate/monitor-sources.sh b/external/onlineupdate/monitor-sources.sh
new file mode 100755
index 0000000..9e0a252
--- /dev/null
+++ b/external/onlineupdate/monitor-sources.sh
@@ -0,0 +1,20 @@
#!/bin/sh
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#

# Monitor any changes in upstream git repo $1 between revisions $2 and $3 that affect files that we
# copy with our external/onlineupdate/generate-sources.sh:

set -ex -o pipefail

source=${1?}
old=${2?}
new=${3?}

files=$(grep -E '^copyto [^ ]+ [^ ]+$' external/onlineupdate/generate-sources.sh | cut -f 3 -d ' ')
git -C "${source?}" log --patch "${old?}".."${new?}" -- $files