git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Roger Leigh" <rleigh@whinlatter.ukfsn.org>
To: git@vger.kernel.org
Subject: git-cvsimport produces different (broken) repos when using pserver or local repo access
Date: Mon, 27 Oct 2008 00:25:40 +0000	[thread overview]
Message-ID: <20081027002539.GB3399@codelibre.net> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 3350 bytes --]

Hi,

I've noticed that git-cvsimport can under some circumstances produce broken
repositories.  This appears to only occur when using pserver access to the CVS
repo; running with a local repo is apparently fine, with all tested versions
giving the same repo (master head has same hash for the last commit).
In all cases cvsps version 2.1 was used.

Repo source:
pserver :pserver:anonymous@gimp-print.cvs.sourceforge.net:/cvsroot/gimp-print
local   rsync -av 'rsync://gimp-print.cvs.sourceforge.net/cvsroot/gimp-print/*' cvs-backup

I've tested with a number of git versions, including git.git as of yesterday:

git version                repo     last commit  URI
1.5.5.GIT                  local    a51c479826   git://git.debian.org/git/users/rleigh/gutenprint-upstream.git
1.5.5.GIT (2 failures)     pserver  bfa6f8248a   git://git.debian.org/git/users/rleigh/gutenprint-upstream-broken.git
1.5.5.GIT (no failure)     pserver  bfa6f8248a   git://git.debian.org/git/users/rleigh/gutenprint-upstream-pserver.git
1.5.6.5                    local    a51c479826   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.5.6.5-local.git
1.5.6.5                    pserver  6f0950c097   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.5.6.5-pserver.git
git.git 1.6.0.3.517.g759a  local    a51c479826   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.6-local.git
git.git 1.6.0.3.517.g759a  pserver  6f0950c097   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.6-pserver.git

With git 1.5.5 I'm tracking the CVS repo running git-cvsimport every 20 mins
from a cron job.  A few months ago it managed to botch, resulting in a broken
repo (it didn't delete files deleted from CVS).  I think this occurs when
git-cvsimport fails (I get a perl error, though I'm afraid I don't have the log
anymore); running again results in successful completion, but the repo is
screwed, I think due to that commit being incomplete or something.  This
occured twice during the import in the second line in the above table, in this
case resulting in missing files (src/cups/i18n.*).  Again, I'm afraid I don't
have the logs, but I can repeat again if this is not an already known/fixed
issue.  The repo is quite big, taking several hours to import, so it might
possibly be a network connection problem and it's not handling that correctly
on failure.  However, even when the import comples successfully (line 3), the
hash is still the same as line 2 where it failed twice and needed restarting.

So, it looks like depending on if I use a local repo directly or remove via
pserver, I get a different repo.  1.5.5 using pserver is different to later
versions, presumably this is a buggy version because it's broken whether or not
I get a failure.  Later versions always completed without failure; while the
local and pserver using repos differ, they do both seem OK.  However, I would
have expected identical results, given that they are all created from the
same data.

The script I used to do the import is attached.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

[-- Attachment #1.2: gutenprint-bootstrap --]
[-- Type: text/plain, Size: 577 bytes --]

#!/bin/bash

CVSROOT=:pserver:anonymous@gimp-print.cvs.sourceforge.net:/cvsroot/gimp-print
CVSMODULE=print
HOME=/home/users/rleigh
GIT_DIR=/var/lib/gforge/chroot/home/users/rleigh/public_git/gutenprint-upstream.git
LOGDIR=${HOME}/log
LOCKFILE=${HOME}/gutenprint-cvs.lock
AUTHORS=${HOME}/gutenprint-auth

#date -R

lockfile -2 -r 2 ${LOCKFILE}

# If we managed to lock the file
if [ $? -eq 0 ]; then
#	echo "Running git-cvsimport"
	export GIT_DIR
	export CVSROOT
	git-cvsimport -A $AUTHORS -i -v print
	rm -f ${LOCKFILE}
else
	echo "Couldn't get lock for cvssuck"
fi

#date -R


[-- Attachment #1.3: gutenprint-auth --]
[-- Type: text/plain, Size: 1881 bytes --]

andystewart=Andy Stewart <andystewart@attbi.com>
anikin=Eugene Anikin <eugene@anikin.com>
cpbs=Charles Briscoe-Smith <cpbs@debian.org>
daberti=Daniele Berti <daberti@users.sourceforge.net>
davehill=Dave Hill <dave@minnie.demon.co.uk>
degger=Daniel Egger <degger@users.sourceforge.net>
doctormo=Martin Owens <doctormo@users.sourceforge.net>
dpace=David Pace <dpace@echo-on.net>
easysw=Mike Sweet <msweet@apple.com>
faust3=Sascha Sommer <saschasommer@freenet.de>
gandy=Andy Thaller <thaller@ph.tum.de>
gtaylor=Grant Taylor <gtaylor@users.sourceforge.net>
iay=Ian Young <ian@iay.org.uk>
jmv=Jean-Marc Verbavatz <verbavatz@ifrance.fr>
julianbradfield=Julian Bradfield <julianbradfield@users.sourceforge.net>
khk=Karl Heinz Kremer <khk@khk.net>
m0m=Michael Mraka <michael.mraka@linux.cz>
mbroughtn=mbroughtn <mbroughtn@users.sourceforge.net>
menthos=Christian Rose <menthos@users.sourceforge.net>
mitsch=Michael Natterer <mitschel@cs.tu-berlin.de>
mtomlinson=Mark Tomlinson <mark.tomlinson@xtra.co.nz>
nestordi=nestor di <nestordi@users.sourceforge.net>
nicholas=nicholas <nicholas@users.sourceforge.net>
peter_missel=Peter Missel <peter_missel@users.sourceforge.net>
rblancha=Richard Blanchard <rblancha@users.sourceforge.net>
rleigh=Roger Leigh <rleigh@debian.org>
rlk=Robert Krawitz <rlk@alum.mit.edu>
rwisi=Richard Wisenoecker <Richard.Wisenoecker@gmx.at>
sharkey=Eric Sharkey <sharkey@debian.org>
smiller=Steve Miller <smiller@rni.net>
spa=Salvador Abreu <spa@users.sourceforge.net>
stevek=Steve Kann <stevek@stevek.com>
tillkamppeter=Till Kamppeter <till.kamppeter@gmail.com>
ttonino=Thomas Tonino <ttonino@bio.vu.nl>
tylerb=Tyler Blessing <tylerb@users.sourceforge.net>
uid21630=uid21630 <uid21630@users.sourceforge.net>
wiz=Joseph S. Wisniewski <wiz@users.sourceforge.net>
wollvieh=Wolfgang Bauer <wollvieh@users.sourceforge.net>
zoopa =Pete Parks <zoopa@users.sourceforge.net>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

                 reply	other threads:[~2008-10-27  0:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081027002539.GB3399@codelibre.net \
    --to=rleigh@whinlatter.ukfsn.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).