--- /dev/null
+This folder contains changelog entries
+======================================
+
+Changes between different releases in deal.II are documented in the file
+"changes.h" that is automatically created from the files in the directories
+
+ * "major",
+ * "minor" and
+ * "incompatibilities".
+
+Each of these files contain a short description of a change, the authors' names
+and the date where the latter two a separated by "<br>" from the first one.
+A typical file could look like this:
+
+ New: We can do fancy stuff now.
+ <br>
+ (John Doe, YYYY/MM/DD)
+
+and is named "YYYYMMDDJohnDoe". File names for multiple contributions from the
+same author on one day have a number appended, e.g. "YYYMMDDJohnDoe\_1".
+
+incompatibilities
+-----------------
+
+The "incompatibilities" section contains modifications to the library that
+are incompatible with previous versions of the library, but which are
+necessary for the future maintainability of the library.
+
+major
+-----
+
+Entries in the "major" section are reserved for substantial changes to the
+library. In particular, this should be sufficiently compact. A good example
+for this category would be adding a new tutorial program.
+
+minor
+-----
+
+Finally, the "minor" section contains all the changes that do not fit in
+the former two.
#
# This script creates "changes.h.new" from the contributions in the subfolders
-# of ./doc/news.
+# of ./doc/news/changes.
#
# The script needs to be executed as
# ./create_changes_h.sh
-# from ./doc_news.
+# from ./doc/news/changes.
-if test ! -d incompatibilities -o ! -d general -o ! -d specific ; then
- echo "*** This script must be run from ./doc/news!"
+if test ! -d incompatibilities -o ! -d major -o ! -d minor ; then
+ echo "*** This script must be run from ./doc/news/changes!"
exit 1
fi
-OUTPUT="changes.h.new"
+OUTPUT="../changes.h.new"
function process_directory
{
process_directory incompatibilities
echo GENERAL
-cat header_general >> ${OUTPUT}
-process_directory general
+cat header_major >> ${OUTPUT}
+process_directory major
echo SPECIFIC
-cat header_specific >> ${OUTPUT}
-process_directory specific
+cat header_minor >> ${OUTPUT}
+process_directory minor
cat footer >> ${OUTPUT}
## ---------------------------------------------------------------------
#
-# This script splits the previously used into contributions in the folders:
-# incompatibilities/ general/ specific/
+# This script splits the previously used "changes.h" into contributions
+# in the folders "incompatibilities", "major" and "minor".
# The resulting files can be used in ./create_changes_h.sh to create
# changes.h anew.
#
# The script needs to be executed as
# ./split_changes_h.sh
-# from ./doc_news.
+# from ./doc/news/changes.
-if test ! -d incompatibilities -o ! -d specific -o ! -d general ; then
- echo "*** This script must be run from ./doc/news!"
+if test ! -d incompatibilities -o ! -d minor -o ! -d major ; then
+ echo "*** This script must be run from ./doc/news/changes!"
exit 1
fi
+if test ! -f ../changes.h ; then
+ echo "*** The file '../changes.h' does not exist!"
+ exit 1
+fi
+
+
-csplit --silent changes.h '/^<ol>\|<\/ol>$/' '{*}'
+csplit --silent ../changes.h '/^<ol>\|<\/ol>$/' '{*}'
for f in xx*; do
#remove HTML list tags
mv xx00 header_incompatibilities
mv xx01 incompatibilities/summary
-mv xx02 header_general
-mv xx03 general/summary
-mv xx04 header_specific
-mv xx05 specific/summary
+mv xx02 header_major
+mv xx03 major/summary
+mv xx04 header_minor
+mv xx05 minor/summary
mv xx06 footer
csplit --silent header_incompatibilities '/^<!--.*$/' '{*}'
cd ..
echo GENERAL
-cd general || exit
+cd major || exit
csplit --silent summary '/^<li>\|<\/li>$/' '{*}'
../split_summary.sh
cd ..
echo SPECIFIC
-cd specific || exit
+cd minor || exit
csplit --silent summary '/^<li>\|<\/li>$/' '{*}'
../split_summary.sh
cd ..