Date: Sun, 12 Feb 2006 04:10:28 +0000 (UTC) From: Maxime Henrion <mux@FreeBSD.org> To: projects-committers@FreeBSD.org, cvs-projects@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: projects/csup keyword.c keyword.h updater.c Message-ID: <200602120410.k1C4AS6A029199@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mux 2006-02-12 04:10:28 UTC FreeBSD projects repository Modified files: csup keyword.c keyword.h updater.c Log: - 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602120410.k1C4AS6A029199>