git-cvsimport produces different (broken) repos when using pserver or local repo access

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:/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.
#!/bin/bash

CVSROOT=:pserver:anonymous@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:/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

andystewart=Andy Stewart <andystewart@xxxxxxxxx>
anikin=Eugene Anikin <eugene@xxxxxxxxxx>
cpbs=Charles Briscoe-Smith <cpbs@xxxxxxxxxx>
daberti=Daniele Berti <daberti@xxxxxxxxxxxxxxxxxxxxx>
davehill=Dave Hill <dave@xxxxxxxxxxxxxxxxxx>
degger=Daniel Egger <degger@xxxxxxxxxxxxxxxxxxxxx>
doctormo=Martin Owens <doctormo@xxxxxxxxxxxxxxxxxxxxx>
dpace=David Pace <dpace@xxxxxxxxxxx>
easysw=Mike Sweet <msweet@xxxxxxxxx>
faust3=Sascha Sommer <saschasommer@xxxxxxxxxx>
gandy=Andy Thaller <thaller@xxxxxxxxx>
gtaylor=Grant Taylor <gtaylor@xxxxxxxxxxxxxxxxxxxxx>
iay=Ian Young <ian@xxxxxxxxxx>
jmv=Jean-Marc Verbavatz <verbavatz@xxxxxxxxxx>
julianbradfield=Julian Bradfield <julianbradfield@xxxxxxxxxxxxxxxxxxxxx>
khk=Karl Heinz Kremer <khk@xxxxxxx>
m0m=Michael Mraka <michael.mraka@xxxxxxxx>
mbroughtn=mbroughtn <mbroughtn@xxxxxxxxxxxxxxxxxxxxx>
menthos=Christian Rose <menthos@xxxxxxxxxxxxxxxxxxxxx>
mitsch=Michael Natterer <mitschel@xxxxxxxxxxxxxxx>
mtomlinson=Mark Tomlinson <mark.tomlinson@xxxxxxxxxx>
nestordi=nestor di <nestordi@xxxxxxxxxxxxxxxxxxxxx>
nicholas=nicholas <nicholas@xxxxxxxxxxxxxxxxxxxxx>
peter_missel=Peter Missel <peter_missel@xxxxxxxxxxxxxxxxxxxxx>
rblancha=Richard Blanchard <rblancha@xxxxxxxxxxxxxxxxxxxxx>
rleigh=Roger Leigh <rleigh@xxxxxxxxxx>
rlk=Robert Krawitz <rlk@xxxxxxxxxxxx>
rwisi=Richard Wisenoecker <Richard.Wisenoecker@xxxxxx>
sharkey=Eric Sharkey <sharkey@xxxxxxxxxx>
smiller=Steve Miller <smiller@xxxxxxx>
spa=Salvador Abreu <spa@xxxxxxxxxxxxxxxxxxxxx>
stevek=Steve Kann <stevek@xxxxxxxxxx>
tillkamppeter=Till Kamppeter <till.kamppeter@xxxxxxxxx>
ttonino=Thomas Tonino <ttonino@xxxxxxxxx>
tylerb=Tyler Blessing <tylerb@xxxxxxxxxxxxxxxxxxxxx>
uid21630=uid21630 <uid21630@xxxxxxxxxxxxxxxxxxxxx>
wiz=Joseph S. Wisniewski <wiz@xxxxxxxxxxxxxxxxxxxxx>
wollvieh=Wolfgang Bauer <wollvieh@xxxxxxxxxxxxxxxxxxxxx>
zoopa =Pete Parks <zoopa@xxxxxxxxxxxxxxxxxxxxx>

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux