From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jim Meyering Newsgroups: gmane.emacs.devel Subject: corrupted ,v files break cvs-to-git mirror Date: Wed, 29 Aug 2007 10:34:01 +0200 Message-ID: <87lkburb7q.fsf@rho.meyering.net> NNTP-Posting-Host: dough.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1188376462 31265 80.91.229.10 (29 Aug 2007 08:34:22 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 29 Aug 2007 08:34:22 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 29 10:38:50 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by dough.gmane.org with esmtp (Exim 4.50) id 1IQJ4W-0006Gc-15 for ged-emacs-devel@m.gmane.org; Wed, 29 Aug 2007 10:38:44 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IQJ05-0004Wd-3H for ged-emacs-devel@m.gmane.org; Wed, 29 Aug 2007 04:34:09 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IQJ01-0004W5-80 for emacs-devel@gnu.org; Wed, 29 Aug 2007 04:34:05 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IQIzz-0004Vp-Ir for emacs-devel@gnu.org; Wed, 29 Aug 2007 04:34:04 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IQIzz-0004Vm-Gr for emacs-devel@gnu.org; Wed, 29 Aug 2007 04:34:03 -0400 Original-Received: from smtp3-g19.free.fr ([212.27.42.29]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IQIzz-00086H-02 for emacs-devel@gnu.org; Wed, 29 Aug 2007 04:34:03 -0400 Original-Received: from smtp3-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp3-g19.free.fr (Postfix) with ESMTP id 442A65A279 for ; Wed, 29 Aug 2007 10:34:02 +0200 (CEST) Original-Received: from mx.meyering.net (mx.meyering.net [82.230.74.64]) by smtp3-g19.free.fr (Postfix) with ESMTP id 2D3DD59B5A for ; Wed, 29 Aug 2007 10:34:02 +0200 (CEST) Original-Received: by rho.meyering.net (Acme Bit-Twister, from userid 1000) id B5A4538B2A; Wed, 29 Aug 2007 10:34:01 +0200 (CEST) Original-Lines: 62 X-Detected-Kernel: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:77316 Archived-At: This morning I noticed that my semi-automatic cvs-to-git emacs repo-mirroring service got stuck in an infinite loop. I tracked it down (through git-cvsimport and cvsps) to a corrupt ,v file: $ rlog /emacs/.state/cvsrepo/emacs/emacs/lisp/obsolete/swedish.el,v \ |grep revision|head -25 total revisions: 21; selected revisions: 21 revision 1.6 revision 1.5 revision 1.4 revision 1.3 revision 1.2 revision 1.1 <<-- Huh?!? This should be 1.13, not a duplicate of "1.1". revision 1.12 revision 1.11 revision 1.10 revision 1.9 revision 1.8 revision 1.7 revision 1.6 revision 1.5 revision 1.4 revision 1.3 revision 1.2 revision 1.1 Initial revision revision 1.8.14.5 revision 1.8.14.4 revision 1.8.14.3 revision 1.8.14.2 revision 1.8.14.1 I've never seen duplicate revision numbers like that before, and I've been around the block a few time with cvs. That seems like a serious problem. For example, how will "cvs diff -r 1.6" work on this file, now? Either way, it is guaranteed to be wrong some of the time. If you tag the latest (1.6) version, which will it select? If a tag for an older version of emacs pointed at the original 1.6 revision, does it still? FYI, a couple of experiments suggest that at least to rcsdiff (and probably cvs, too) the older shadowed version numbers are not usable anymore. E.g., rcsdiff -u -r1.11 -r1.12 on that ,v file gives an empty diff. The 1.1 -> 1.2 diff selects the most recent one, not the original. Does anyone here have any idea how that happened? FYI, here's the second "1.1" log entry, from "cvs log" output: [What does "Moved" mean? ] ---------------------------- revision 1.1 date: 2005/08/23 20:05:32; author: jhd; state: Exp; Moved from international. Old log: ;;; swedish.el --- miscellaneous functions for dealing with Swedish. ---------------------------- revision 1.12 date: 2005/07/04 17:22:27; author: lute; state: Exp; lines: +2 -2 Update FSF's address. ---------------------------- I hope it's easily fixed.