Hello,

I must confess to having horribly disfigured the CVS logs with that last
commit.

I habitually uncomment the "Modified Files:" section in the CVS commit
log, having on occasion found this information indispensable to rolling
back a commit, and otherwise figuring out what's happened.

However, it pollutes the log files, in this case quite spectacularly.
Try doing a "cvs log" of any Excalibur file to see what I mean :(

So to prevent this happening again, I've written up the following doc to
spell out the issue. Could people please take a look, and indicate
whether:

 - they agree, and I should put this alongside code-standards.xml.
 - they agree, and as a wider issue, it should be taken up on
   general@jakarta, for possible inclusion on the jakarta site.
 - I've made some factual error, misunderstood or overlooked something.

thanks,

--Jeff

<s1>CVS issues</s1>
<p>
When running "cvs commit", CVS will prompt to you enter a log, with a template
looking something like this
<source><![CDATA[
PR:
Obtained from:
Submitted by:
Reviewed by:
CVS: ----------------------------------------------------------------------
CVS: PR:
CVS:   If this change addresses a PR in the problem report tracking
CVS:   database, then enter the PR number(s) here.
CVS: Obtained from:
CVS:   If this change has been taken from another system, such as NCSA,
CVS:   then name the system in this line, otherwise delete it.
CVS: Submitted by:
CVS:   If this code has been contributed to Apache by someone else; i.e.,
CVS:   they sent us a patch or a new module, then include their name/email
CVS:   address here. If this is your work then delete this line.
CVS: Reviewed by:
CVS:   If we are doing pre-commit code reviews and someone else has
CVS:   reviewed your changes, include their name(s) here.
CVS:   If you have not had it reviewed then delete this line.
CVS: ----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS:    AbstractPool.java DefaultObjectFactory.java DefaultPool.java
CVS:    HardResourceLimitingPool.java Poolable.java Recyclable.java
CVS: ----------------------------------------------------------------------
]]></source>
</p>
<p>
  If the first four lines are not applicable, delete them. As for uncommenting the 
"Modified
  Files:" section, the general rule is: don't uncomment them. Some CVS issues need to 
be understood
  to explain why.
</p>
<p>
  CVS does version management at the level of individual files. There is no built-in 
way of
  determining which files changed in one commit operation. This is a pity, because 
this is vital
  information when performing rollbacks. A common workaround is to uncomment the 
"Modified Files:"
  section in the above log, thus keeping a record of which files were committed in one 
go.
</p>
<p>
  Unfortunately, this log is stored in the version history of <em>every file</em> 
involved in the
  commit. After the immediate possibility of a rollback has passed, the "Modified 
Files:" list
  becomes irrelevant. What was useful information at a per-commit level, becomes 
useless pollution
  at a per-file level. No longer can one do a quick "cvs log" on a file, without 
sifting through
  irrelevant text. Hence the general rule that the "Modified Files:" section should 
<em>not</em> be
  uncommented.
</p>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to