aboutsummaryrefslogtreecommitdiffhomepage
path: root/BACKPORTING
diff options
context:
space:
mode:
authormitchell <unknown>2018-05-07 16:09:29 -0400
committermitchell <unknown>2018-05-07 16:09:29 -0400
commit8a1d066131a2c90152bb95b4ccdc04aa109e07ac (patch)
treead414d9c2938fa8c347450ebbc50f4744c55d886 /BACKPORTING
parent7eab38bd0e0c2f72427d11386ec5e9c90271df97 (diff)
downloadscintilla-mirror-8a1d066131a2c90152bb95b4ccdc04aa109e07ac.tar.gz
Added backport testing notes and tools.
Diffstat (limited to 'BACKPORTING')
-rw-r--r--BACKPORTING34
1 files changed, 34 insertions, 0 deletions
diff --git a/BACKPORTING b/BACKPORTING
index a23911fc0..a24bcfae5 100644
--- a/BACKPORTING
+++ b/BACKPORTING
@@ -30,6 +30,40 @@ In order to back out of a graft:
This can only be done ONCE, and affects the most recent graft, so make sure you
test any questionable grafts first before attempting another one.
+Testing Backports
+=================
+
+Backporting a change is one thing, but ensuring the backport was successful is
+another. Currently, the measure of "success" is whether Scintilla compiles on
+all platforms after a backported change. This process can be automated using hg
+hooks and the "check.mak" makefile. By adding the following to .hg/hgrc:
+
+ [hooks]
+ pretxncommit.adddeps = test -z "`hg status | grep '^A' | grep '\.\(h\|cxx\)$'`" || make -f check.mak deps
+ pretxncommit.compile = make -f check.mak
+
+whenever a backported change is about to be committed, hg runs "check.mak",
+which attempts to compile Scintilla on all platforms. If successful, the commit
+is made. Otherwise, the commit fails and changes must be made before attempting
+to commit again.
+
+The file "check.mak" is designed to run on a Linux machine that has
+cross-compilers for Win32 and Mac OSX. It does not necessarily produce any
+binary builds of Scintilla that can be used -- it just ensures Scintilla can be
+built without compile errors. How to obtain a set of cross-compilers is beyond
+the scope of this document. At the time of writing, GCC 5.4 is used exclusively.
+
+Not only does "check.mak" perform platform compile checks, but it also has rules
+for manually running Scintilla's unit tests (which take too long to run
+automatically as a pre-commit hook), creating a LongTerm3 release archive set,
+and uploading documentation to the LongTerm3 website on SourceForge:
+
+ make test
+ make zip
+ make upload
+
+The last rule requires user credentials.
+
Backport Status
===============