Author: britter
Date: Tue Jan 6 20:29:00 2015
New Revision: 1649938
URL: http://svn.apache.org/r1649938
Log:
Commit log should be checked before release notes are generated
Modified:
commons/cms-site/trunk/content/xdoc/releases/prepare.xml
Modified: commons/cms-site/trunk/content/xdoc/releases/prepare.xml
URL:
http://svn.apache.org/viewvc/commons/cms-site/trunk/content/xdoc/releases/prepare.xml?rev=1649938&r1=1649937&r2=1649938&view=diff
==============================================================================
--- commons/cms-site/trunk/content/xdoc/releases/prepare.xml (original)
+++ commons/cms-site/trunk/content/xdoc/releases/prepare.xml Tue Jan 6
20:29:00 2015
@@ -241,7 +241,67 @@
</ul>
</p>
</subsection>
+ <subsection name='Check the commit log'>
+ <p>
+ Different components have their own ways of creating the change log.
+ The most common, and recommended, way, is to record all significant
+ changes in JIRA tickets and include entries in the Maven change-log
+ file, <code>changes.xml</code>. If your component has a change-log you
+ can skip this step.</p>
+ <p>Here's a way to get the information directly from svn if no change log
+ has been maintained for the component:
+ </p>
+ <p>
+ Get a list of all the commits since the last release by following
these steps.
+ <br/>
+ Assuming that, as part of the last release, a directory
{project-base}/tags/foo-1.1
+ had been created:
+ <pre>
+ cd {project-base}/tags
+ svn log --stop-on-copy foo-1.1
+ # The last revision NNNN reported in the log output is the revision
that was
+ # copied to create the tag. If this is a true tag directory, then of
course
+ # there will only be one revision listed by the log command..
+
+ cd ..
+ svn log -v -rNNNN:HEAD trunk > commits-since-last-release.txt
+ </pre>
+ </p>
+ <p>
+ This will result in a file that contains info on each commit that
affected at
+ least one file within the trunk directory since the last release. Note
that if
+ a commit affected a group of files of which some were outside the
trunk directory,
+ then they will be included with the associated commit message but can
be ignored.
+ </p>
+ <p>
+ Using "svn diff" instead of "svn log -v" will result instead in a file
that shows the
+ actual diffs for each file instead of the commit messages. This may be
more convenient
+ when the commit messages are not sufficiently detailed to be able to
build the release
+ notes directly from them.
+ </p>
+ <p>
+ Inspect the list of changes and enter relevant information into the
release notes;
+ this may require inspecting the actual changes using "svn diff".
+ Enhancements and new features need to be collated by topic.
+ Bugs fixed should be listed separately together with a short summary
of the bug.
+ </p>
+ <p>
+ Please remember to spell check the release notes. Please break lines
at 80 characters.
+ </p>
+ <p>
+ <b>IMPORTANT!</b> At the current time, selecting by date in subversion
within the
+ ASF repository isn't reliable. The reason is that when converting a
date to a revision
+ number, subversion assumes that revision N has an earlier date than
revision N+M, and
+ that it can therefore perform a binary search on revision numbers to
locate one with
+ the required date. However CVS imports of data that retain the
original date
+ information from CVS break this assumption. And unfortunately because
revisions
+ are repository-wide information, this affects date-based searches
+ even in directories unrelated to the ones that CVS stuff was imported
into.
+ So while dates are reported correctly in "svn log" output, only
revision numbers should
+ be used with the -r option. See issue #752 in the subversion issue
tracker at tigris.org.
+ </p>
+ </subsection>
<subsection name='Prepare Release Notes'>
<p>
Each component should have a file RELEASE-NOTES.txt in the base directory
of the component.
@@ -283,68 +343,6 @@
read easily without word wrap.
</p>
</subsection>
- <subsection name='Check the commit log'>
- <p>
- Different components have their own ways of creating the change log.
- The most common, and recommended, way, is to record all significant
- changes in JIRA tickets and include entries in the Maven change-log
- file, <code>changes.xml</code>. If your component has a change-log you
- can skip this step.</p>
- <p>Here's a way to get the information directly from svn if no change
log
- has been maintained for the component:
- </p>
- <p>
- Get a list of all the commits since the last release by following
these steps.
- <br/>
- Assuming that, as part of the last release, a directory
{project-base}/tags/foo-1.1
- had been created:
- <pre>
- cd {project-base}/tags
-
- svn log --stop-on-copy foo-1.1
- # The last revision NNNN reported in the log output is the revision that
was
- # copied to create the tag. If this is a true tag directory, then of
course
- # there will only be one revision listed by the log command..
-
- cd ..
- svn log -v -rNNNN:HEAD trunk > commits-since-last-release.txt
- </pre>
- </p>
- <p>
- This will result in a file that contains info on each commit that
affected at
- least one file within the trunk directory since the last release. Note
that if
- a commit affected a group of files of which some were outside the
trunk directory,
- then they will be included with the associated commit message but can
be ignored.
- </p>
- <p>
- Using "svn diff" instead of "svn log -v" will result instead in a file
that shows the
- actual diffs for each file instead of the commit messages. This may be
more convenient
- when the commit messages are not sufficiently detailed to be able to
build the release
- notes directly from them.
- </p>
- <p>
- Inspect the list of changes and enter relevant information into the
release notes;
- this may require inspecting the actual changes using "svn diff".
- Enhancements and new features need to be collated by topic.
- Bugs fixed should be listed separately together with a short summary
of the bug.
- </p>
- <p>
- Please remember to spell check the release notes. Please break lines
at 80 characters.
- </p>
- <p>
- <b>IMPORTANT!</b> At the current time, selecting by date in subversion
within the
- ASF repository isn't reliable. The reason is that when converting a
date to a revision
- number, subversion assumes that revision N has an earlier date than
revision N+M, and
- that it can therefore perform a binary search on revision numbers to
locate one with
- the required date. However CVS imports of data that retain the
original date
- information from CVS break this assumption. And unfortunately because
revisions
- are repository-wide information, this affects date-based searches
- even in directories unrelated to the ones that CVS stuff was imported
into.
- So while dates are reported correctly in "svn log" output, only
revision numbers should
- be used with the -r option. See issue #752 in the subversion issue
tracker at tigris.org.
- </p>
- </subsection>
-
<subsection name='Test Against Listed Dependencies'>
<p>
If you are using Maven to execute the unit tests associated with the
component then