summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorGreg Noel <GregNoel@tigris.org>2010-06-07 18:58:42 +0000
committerGreg Noel <GregNoel@tigris.org>2010-06-07 18:58:42 +0000
commit955a5af321dff363ed0a9aea8a5f0df176cad32f (patch)
tree5536c5067cc609b6fe12a655807b0a85b8a4ce43 /bin
parentc5da2358ce034f42cb965f324588ecedc0d10ccf (diff)
downloadscons-955a5af321dff363ed0a9aea8a5f0df176cad32f.tar.gz
Fixed a bug in the regression test to use the right filenames for each
platform; it was causing the test to fail on Windows. Added some documentation to bin/update-release-info.py. In my last log message, I forgot to mention that QMTest/TestRuntest.py was tweaked to make it less specialized for testing runtest.py. It can now be used to test other programs; in this case, bin/update-release-info.py. The defaults are unchanged so that it will normally test runtest.py.
Diffstat (limited to 'bin')
-rw-r--r--bin/update-release-info.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/bin/update-release-info.py b/bin/update-release-info.py
index c65963a0..4c174ba7 100644
--- a/bin/update-release-info.py
+++ b/bin/update-release-info.py
@@ -1,6 +1,39 @@
#!/usr/bin/env python
"""
-Update files for release. FIXME: make the doc string actually document.
+This program takes information about a release in the ReleaseConfig file
+and inserts the information in various files. It helps to keep the files
+in sync because it never forgets which files need to be updated, nor what
+information should be inserted in each file.
+
+It takes one parameter that says what the mode of update should be, which
+may be one of 'develop', 'release', or 'post'.
+
+In 'develop' mode, which is what someone would use as part of their own
+development practices, the release type is forced to be 'alpha' and the
+patch level is the string 'yyyymmdd'. Otherwise, it's the same as the
+'release' mode.
+
+In 'release' mode, the release type is taken from ReleaseConfig and the
+patch level is calculated from the release date for non-final runs and
+taken from the version tuple for final runs. It then inserts information
+in various files:
+ - The RELEASE header line in src/CHANGES.txt and src/Announce.txt.
+ - The version string at the top of src/RELEASE.txt.
+ - The version string in the 'default_version' variable in SConstruct
+ and QMTest/TestSCons.py.
+ - The copyright years in SConstruct and QMTest/TestSCons.py.
+ - The month and year (used for documentation) in SConstruct.
+ - The unsupported and deprecated Python floors in QMTest/TestSCons.py
+ and src/engine/SCons/Script/Main.py
+ - The version string in the filenames in README.
+
+In 'post' mode, files are prepared for the next release cycle:
+ - In ReleaseConfig, the version tuple is updated for the next release
+ by incrementing the release number (either minor or micro, depending
+ on the branch) and resetting release type to 'alpha'.
+ - A blank template replaces src/RELEASE.txt.
+ - A new section to accumulate changes is added to src/CHANGES.txt and
+ src/Announce.txt.
"""
#
# __COPYRIGHT__