{"thread":{"id":"16054","subject":"git-cvsimport produces different (broken) repos when using pserver or local repo access","startedAt":"2008-10-27T00:25:40Z","lastAt":"2008-10-27T00:25:40Z","messageCount":1,"participants":["Roger Leigh"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"94010","messageId":"20081027002539.GB3399@codelibre.net","threadId":"16054","inReplyTo":null,"subject":"git-cvsimport produces different (broken) repos when using pserver or local repo access","fromName":"Roger Leigh","fromEmail":"rleigh@whinlatter.ukfsn.org","sentAt":"2008-10-27T00:25:40Z","receivedAt":"2008-10-27T00:25:40Z","isPatch":false,"sender":{"key":"rleigh@whinlatter.ukfsn.org","avatar":null},"body":"Hi,\n\nI've noticed that git-cvsimport can under some circumstances produce broken\nrepositories.  This appears to only occur when using pserver access to the CVS\nrepo; running with a local repo is apparently fine, with all tested versions\ngiving the same repo (master head has same hash for the last commit).\nIn all cases cvsps version 2.1 was used.\n\nRepo source:\npserver :pserver:anonymous@gimp-print.cvs.sourceforge.net:/cvsroot/gimp-print\nlocal   rsync -av 'rsync://gimp-print.cvs.sourceforge.net/cvsroot/gimp-print/*' cvs-backup\n\nI've tested with a number of git versions, including git.git as of yesterday:\n\ngit version                repo     last commit  URI\n1.5.5.GIT                  local    a51c479826   git://git.debian.org/git/users/rleigh/gutenprint-upstream.git\n1.5.5.GIT (2 failures)     pserver  bfa6f8248a   git://git.debian.org/git/users/rleigh/gutenprint-upstream-broken.git\n1.5.5.GIT (no failure)     pserver  bfa6f8248a   git://git.debian.org/git/users/rleigh/gutenprint-upstream-pserver.git\n1.5.6.5                    local    a51c479826   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.5.6.5-local.git\n1.5.6.5                    pserver  6f0950c097   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.5.6.5-pserver.git\ngit.git 1.6.0.3.517.g759a  local    a51c479826   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.6-local.git\ngit.git 1.6.0.3.517.g759a  pserver  6f0950c097   git://git.debian.org/git/users/rleigh/gutenprint-upstream-git1.6-pserver.git\n\nWith git 1.5.5 I'm tracking the CVS repo running git-cvsimport every 20 mins\nfrom a cron job.  A few months ago it managed to botch, resulting in a broken\nrepo (it didn't delete files deleted from CVS).  I think this occurs when\ngit-cvsimport fails (I get a perl error, though I'm afraid I don't have the log\nanymore); running again results in successful completion, but the repo is\nscrewed, I think due to that commit being incomplete or something.  This\noccured twice during the import in the second line in the above table, in this\ncase resulting in missing files (src/cups/i18n.*).  Again, I'm afraid I don't\nhave the logs, but I can repeat again if this is not an already known/fixed\nissue.  The repo is quite big, taking several hours to import, so it might\npossibly be a network connection problem and it's not handling that correctly\non failure.  However, even when the import comples successfully (line 3), the\nhash is still the same as line 2 where it failed twice and needed restarting.\n\nSo, it looks like depending on if I use a local repo directly or remove via\npserver, I get a different repo.  1.5.5 using pserver is different to later\nversions, presumably this is a buggy version because it's broken whether or not\nI get a failure.  Later versions always completed without failure; while the\nlocal and pserver using repos differ, they do both seem OK.  However, I would\nhave expected identical results, given that they are all created from the\nsame data.\n\nThe script I used to do the import is attached.\n\n\nRegards,\nRoger\n\n-- \n  .''`.  Roger Leigh\n : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/\n `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/\n   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.\n\n\n#!/bin/bash\n\nCVSROOT=:pserver:anonymous@gimp-print.cvs.sourceforge.net:/cvsroot/gimp-print\nCVSMODULE=print\nHOME=/home/users/rleigh\nGIT_DIR=/var/lib/gforge/chroot/home/users/rleigh/public_git/gutenprint-upstream.git\nLOGDIR=${HOME}/log\nLOCKFILE=${HOME}/gutenprint-cvs.lock\nAUTHORS=${HOME}/gutenprint-auth\n\n#date -R\n\nlockfile -2 -r 2 ${LOCKFILE}\n\n# If we managed to lock the file\nif [ $? -eq 0 ]; then\n#\techo \"Running git-cvsimport\"\n\texport GIT_DIR\n\texport CVSROOT\n\tgit-cvsimport -A $AUTHORS -i -v print\n\trm -f ${LOCKFILE}\nelse\n\techo \"Couldn't get lock for cvssuck\"\nfi\n\n#date -R\n\n\n\nandystewart=Andy Stewart <andystewart@attbi.com>\nanikin=Eugene Anikin <eugene@anikin.com>\ncpbs=Charles Briscoe-Smith <cpbs@debian.org>\ndaberti=Daniele Berti <daberti@users.sourceforge.net>\ndavehill=Dave Hill <dave@minnie.demon.co.uk>\ndegger=Daniel Egger <degger@users.sourceforge.net>\ndoctormo=Martin Owens <doctormo@users.sourceforge.net>\ndpace=David Pace <dpace@echo-on.net>\neasysw=Mike Sweet <msweet@apple.com>\nfaust3=Sascha Sommer <saschasommer@freenet.de>\ngandy=Andy Thaller <thaller@ph.tum.de>\ngtaylor=Grant Taylor <gtaylor@users.sourceforge.net>\niay=Ian Young <ian@iay.org.uk>\njmv=Jean-Marc Verbavatz <verbavatz@ifrance.fr>\njulianbradfield=Julian Bradfield <julianbradfield@users.sourceforge.net>\nkhk=Karl Heinz Kremer <khk@khk.net>\nm0m=Michael Mraka <michael.mraka@linux.cz>\nmbroughtn=mbroughtn <mbroughtn@users.sourceforge.net>\nmenthos=Christian Rose <menthos@users.sourceforge.net>\nmitsch=Michael Natterer <mitschel@cs.tu-berlin.de>\nmtomlinson=Mark Tomlinson <mark.tomlinson@xtra.co.nz>\nnestordi=nestor di <nestordi@users.sourceforge.net>\nnicholas=nicholas <nicholas@users.sourceforge.net>\npeter_missel=Peter Missel <peter_missel@users.sourceforge.net>\nrblancha=Richard Blanchard <rblancha@users.sourceforge.net>\nrleigh=Roger Leigh <rleigh@debian.org>\nrlk=Robert Krawitz <rlk@alum.mit.edu>\nrwisi=Richard Wisenoecker <Richard.Wisenoecker@gmx.at>\nsharkey=Eric Sharkey <sharkey@debian.org>\nsmiller=Steve Miller <smiller@rni.net>\nspa=Salvador Abreu <spa@users.sourceforge.net>\nstevek=Steve Kann <stevek@stevek.com>\ntillkamppeter=Till Kamppeter <till.kamppeter@gmail.com>\nttonino=Thomas Tonino <ttonino@bio.vu.nl>\ntylerb=Tyler Blessing <tylerb@users.sourceforge.net>\nuid21630=uid21630 <uid21630@users.sourceforge.net>\nwiz=Joseph S. Wisniewski <wiz@users.sourceforge.net>\nwollvieh=Wolfgang Bauer <wollvieh@users.sourceforge.net>\nzoopa =Pete Parks <zoopa@users.sourceforge.net>\n"}]}