cvs commit: projects/csup keyword.c keyword.h updater.c

Maxime Henrion mux at
Sat Feb 11 20:10:29 PST 2006

mux         2006-02-12 04:10:28 UTC

  FreeBSD projects repository

  Modified files:
    csup                 keyword.c keyword.h updater.c 
  - Unbreak updates from a PostgreSQL CVSup server.  This is really, really
    weird...  What was breaking updates from OpenBSD CVSup servers was that
    I wasn't expanding the $OpenBSD$ tags, because I wasn't enabling
    aliases when adding them; and the server was just doing that, that is
    adding $OpenBSD$ as an alias for $Id$.  Later, I realized that this
    broke updates from PostgreSQL servers because those were expecting me
    _not_ to expand the $PostgreSQL$ tags.  Similarly to the OpenBSD
    server, I was just being told that $PostgreSQL$ was an alias for $Id$.
    The actual difference between those two servers is what looks really
    weird.  CVSup computes the keyLenMin and keyLenMax variables, that
    are the minimum and the maximum length of a keyword.  It only computes
    those values on the standard RCS keywords ($Id$, $Revision$ etc) and
    doesn't update them when adding an alias.  It then uses these variables
    to reject any keyword bigger than the max or shorter than the min.
    And, guess what?  "PostgreSQL" is longer than the longest RCS keyword,
    which is "CVSHeader".
    I'm adding a big comment to explain this stuff.
  - While I'm here, move the parsing of the expansion mode where it more
    rightly belongs, in keyword.c, accessible through the new
    keyword_decode_expand() function.
  Revision  Changes    Path
  1.26      +37 -7     projects/csup/keyword.c
  1.10      +2 -1      projects/csup/keyword.h
  1.74      +3 -16     projects/csup/updater.c

More information about the cvs-all mailing list