[geany/geany] 7c0d4d: Add a script to update Scintilla

Colomban Wendling git-noreply at xxxxx
Thu Jul 26 00:05:36 UTC 2012


Branch:      refs/heads/document-messages
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Tue, 26 Jun 2012 23:27:45
Commit:      7c0d4d12458523cb175d7e63e0662aa288b5b5d0
             https://github.com/geany/geany/commit/7c0d4d12458523cb175d7e63e0662aa288b5b5d0

Log Message:
-----------
Add a script to update Scintilla


Modified Paths:
--------------
    scripts/update-scintilla.sh

Modified: scripts/update-scintilla.sh
87 files changed, 87 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+# Copyright:	2012, Colomban Wendling
+# License:		GNU GPL v2 or later
+
+# Update Geany's bundled Scintilla from a given Scintilla source directory
+# (e.g. an upstream Mercurial clone or tarball)
+
+
+SCI_SRC=
+
+# parse arguments
+if [ $# -gt 0 ]; then
+	SCI_SRC="$1"
+else
+	echo "USAGE: $0 SCINTILLA_SOURCE_DIRECTORY" >&2
+	exit 1
+fi
+
+# check source directory
+if ! [ -f "$SCI_SRC"/version.txt ]; then
+	echo "'$SCI_SRC' is not a valid Scintilla source directory!" >&2
+	exit 1
+fi
+# check destination directory
+if ! [ -d .git ] || ! [ -f scintilla/version/txt ]; then
+	echo "Please run this script from Geany's root source directory." >&2
+	exit 1
+fi
+
+# make sure destination directory is clean
+if git status -unormal -s scintilla | grep '^??'; then
+	echo "Please clean scintilla directory from untracked files before." >&2
+	exit 1
+fi
+
+# copy everything from scintilla but lexers
+cp -v "$SCI_SRC"/src/*.cxx        scintilla/src     || exit 1
+cp -v "$SCI_SRC"/src/*.h          scintilla/src     || exit 1
+cp -v "$SCI_SRC"/include/*.h      scintilla/include || exit 1
+cp -v "$SCI_SRC"/include/*.iface  scintilla/include || exit 1
+cp -v "$SCI_SRC"/gtk/*.c          scintilla/gtk     || exit 1
+cp -v "$SCI_SRC"/gtk/*.cxx        scintilla/gtk     || exit 1
+cp -v "$SCI_SRC"/gtk/*.h          scintilla/gtk     || exit 1
+cp -v "$SCI_SRC"/gtk/*.list       scintilla/gtk     || exit 1
+cp -v "$SCI_SRC"/lexlib/*.cxx     scintilla/lexlib  || exit 1
+cp -v "$SCI_SRC"/lexlib/*.h       scintilla/lexlib  || exit 1
+cp -v "$SCI_SRC"/License.txt      scintilla         || exit 1
+cp -v "$SCI_SRC"/version.txt      scintilla         || exit 1
+# now copy the lexers we use
+git ls-files scintilla/lexers/*.cxx | sed 's%^scintilla/%./%' | while read f; do
+  cp -v "$SCI_SRC/$f" "scintilla/$f" || exit 1
+done
+
+# apply our patch
+git apply -p0 scintilla/scintilla_changes.patch || {
+	echo "scintilla_changes.patch doesn't apply, please update it and retry."
+	echo "Changes for the catalogue are:"
+	git diff -p -R scintilla/src/Catalogue.cxx | tee
+	echo "Make sure to strip the leading a/ and b/!"
+	exit 1
+}
+
+#check whether there are new files
+if git status -unormal -s scintilla | grep '^??'; then
+	echo <<EOF
+
+Untracked files above have been introduced by the new Scintilla version and
+should be added to version control if appropriate, or removed.
+EOF
+fi
+
+# summary
+cat << EOF
+
+Scintilla update successful!
+
+Please check the diff and upgrade the style mappings in
+src/highlightingmappins.h.
+
+Check the diff of scintilla/include/SciLexer.h to see whether and which
+mapping to add or update (use git diff scintilla/include/SciLexer.h).
+Don't forget to also update the comment and string styles in
+src/highlighting.c.
+
+Finally, add or update the appropriate line in NEWS.
+EOF


@@ Diff output truncated at 100000 characters. @@


--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).



More information about the Commits mailing list