This patch adds missing newlines, trims multiple redundant final
newlines into a single one and trims leading newlines at the beginning
of the files.
According to POSIX, a line is a sequence of zero or more non-'<newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.
C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."
Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.
[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
The `generate-phpt` used to provide generating tests however it is not
maintanined nor working anymore and has been removed from the php-src
repository since PHP-7.3.
If the new repository dedicated for the generate-phpt script will be
created one day in the future this can be added back.
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.
In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.
This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
This is done by adding a new function (get_active_branches()), that returns a constant array with active versions (hence the added note in release-qa.php).
The write-test.php page now has a new paragraph listing active branches and linking to GCOV instead of the old and outdated coverage data we had stored on QA (which almost managed to celebrate a 10 year birthday).