httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From (Ralf S. Engelschall)
Subject [PATCH] for branch commits fixed
Date Fri, 01 Aug 1997 08:41:43 GMT

Ok, now I've spended some time and jumped into the depths of CVS and
discovered why we always receive such ugly CVS log mails when comitting
something to a branch.

|Modified:    htdocs/manual/mod  Tag: APACHE_1_2_X  mod_rewrite.html
|  Log:
|  Merge in documentation update from HEAD.
|  Revision  Changes    Path
|  No                   revision
|  No                   revision
|   +120 -58   apache/htdocs/manual/mod/mod_rewrite.html
|  Index: mod_rewrite.html
|  ===================================================================
|  RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_rewrite.html,v

The problem which caused the two ugly "No\s+revision" lines is this: When parses the commit message it does not skip the "Tag:
APACHE_1_2_X" line. Instead it thinks these are two filenames and later (when
generating the table it does...

| :> cvs -Qn status Tag:
| ===================================================================
| File: no file Tag:              Status: Unknown
|    Working revision:    No entry for Tag:
|    Repository revision: No revision control file
| :> 

...and instead of grepping out a number and the rcsfile after "Repository
revision:" it greps out "No" and "revision". And this is displayed in the
table :-(. The correct fix is not to detect such cases on "cvs status".
Instead the generation of the file list has to be fixed prior. And the fix is
to skip "Tag: ..." lines there. I've double-checked this approach with
FreeBSD's They've changed their in a similar way
(but very different because their is more advanced for branches).

Here is the patch:

--- Fri Aug  1 10:28:46 1997
+++     Fri Aug  1 10:28:09 1997
@@ -353,6 +353,7 @@
         push (@branch_lines, split);
+    next if (/^[ \t]+Tag:/);
     if (/^Modified Files/) { $state = $STATE_CHANGED; next; }
     if (/^Added Files/)    { $state = $STATE_ADDED;   next; }
     if (/^Removed Files/)  { $state = $STATE_REMOVED; next; }

Could someone which is in the "cvsadmin" group (Alexei?, Roy?, Brian?) be so
kind and commit this or add me to the group? I really think it is correct, but
cannot test it myself easily. If it is not, we can back it out immediately.
So, no problem.

                                       Ralf S. Engelschall

View raw message