From owner-cvs-all@FreeBSD.ORG Sun Feb 12 04:10:29 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 49BBD16A422; Sun, 12 Feb 2006 04:10:29 +0000 (GMT) (envelope-from mux@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1740143D45; Sun, 12 Feb 2006 04:10:29 +0000 (GMT) (envelope-from mux@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k1C4ASdC029200; Sun, 12 Feb 2006 04:10:28 GMT (envelope-from mux@repoman.freebsd.org) Received: (from mux@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k1C4AS6A029199; Sun, 12 Feb 2006 04:10:28 GMT (envelope-from mux) Message-Id: <200602120410.k1C4AS6A029199@repoman.freebsd.org> From: Maxime Henrion Date: Sun, 12 Feb 2006 04:10:28 +0000 (UTC) To: projects-committers@FreeBSD.org, cvs-projects@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: projects/csup keyword.c keyword.h updater.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Feb 2006 04:10:29 -0000 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