git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] cvsimport: rewritten in Perl

From
Nicolas Pitre <nico@cam.org>
Date
Jun 29, 2005, 15:06 UTC
Message-ID
<Pine.LNX.4.63.0506291048140.1667@localhost.localdomain>
In-Reply-To
<pan.2005.06.28.19.23.08.307486@smurf.noris.de>
On Tue, 28 Jun 2005, Matthias Urlichs wrote:
Show 10 quoted lines
> I just got my machine blocked from a CVS server which didn't like
> to get hammered with connections.
> 
> That was cvs2git's shell script. Which, by the way, is slow as hell.
> 
> Appended: a git-cvsimport script, written in Perl, which directly talks
> to the CVS server. If the repository is local, it runs a "cvs server"
> child. It produces the same git repository as Linus' version. It can do
> incremental imports. And it's 20 times faster (on my system, with a
> local CVS repository).

Tried it on the bkcvs repository from ftp.kernel.org/pub/scm/linux/kernel/bkcvs/linux-2.5/ (it can be retrieved with rsync as well)

Your script died after about 30 seconds with:

[...] New scripts/lxdialog/Makefile: 0 bytes. New scripts/lxdialog/checklist.c: 0 bytes. New scripts/lxdialog/colors.h: 0 bytes. New scripts/lxdialog/dialog.h: 0 bytes. New scripts/lxdialog/inputbox.c: 0 bytes. New scripts/lxdialog/lxdialog.c: 0 bytes. New scripts/lxdialog/menubox.c: 0 bytes. New scripts/lxdialog/msgbox.c: 0 bytes. New scripts/lxdialog/textbox.c: 0 bytes. New scripts/lxdialog/util.c: 0 bytes. New scripts/lxdialog/yesno.c: 0 bytes. Can't exec "git-update-cache": Argument list too long at /home/nico/bin/git-cvsimport-script line 402, <CVS> line 8254. Cannot add files: -1

The original Linus version, although painfully slow, successfully converts the whole thing after a couple hours.

Also aren't those "0 bytes" a bit suspicious?
Nicolas
Previous: Matthias UrlichsNext: Matthias Urlichs
Message 2 of 49 in “cvsimport: rewritten in Perl”
  1. cvsimport: rewritten in PerlMatthias Urlichs, Jun 28, 2005
  2. Nicolas PitreJun 29, 2005
  3. Matthias UrlichsJun 29, 2005
  4. Matthias UrlichsJun 30, 2005
  5. Nicolas PitreJun 30, 2005
  6. cvsimport-in-Perl: Limit the number of arguments to git-update-cacheMatthias Urlichs, Jun 30, 2005
  7. Nicolas PitreJun 30, 2005
  8. Nicolas PitreJun 30, 2005
  9. Matthias UrlichsJun 30, 2005
  10. cvsimport: perform string comparison on "HEAD"Sven Verdoolaege, Jun 30, 2005
  11. Matthias UrlichsJun 30, 2005
  12. cvsimport: Limit the log string to 32kMatthias Urlichs, Jun 30, 2005
  13. Sven VerdoolaegeJun 30, 2005
  14. Matthias UrlichsJun 30, 2005
  15. Sven VerdoolaegeJun 30, 2005
  16. Matthias UrlichsJun 30, 2005
  17. Sven VerdoolaegeJun 30, 2005
  18. Matthias UrlichsJun 30, 2005
  19. Nicolas PitreJun 30, 2005
  20. Matthias UrlichsJul 1, 2005
  21. Sven VerdoolaegeJul 3, 2005
  22. Make specification of CVS module to convert optional.Sven Verdoolaege, Jul 3, 2005
  23. git-cvsimport-script: clean up documentationSven Verdoolaege, Jul 3, 2005
  24. git-cvsimport-script: Honour CVS_SERVER.Sven Verdoolaege, Jul 3, 2005
  25. git-cvsimport-script: Support :ext: access method.Sven Verdoolaege, Jul 3, 2005
  26. Sven VerdoolaegeJul 3, 2005
  27. Matthias UrlichsJul 3, 2005
  28. Wolfgang DenkJul 5, 2005
  29. Linus TorvaldsJul 6, 2005
  30. Sven VerdoolaegeJul 6, 2005
  31. Matthias UrlichsJul 6, 2005
  32. Wolfgang DenkJul 6, 2005
  33. git-cvsimport-script: leave working directory alone.Sven Verdoolaege, Jul 4, 2005
  34. git-cvsimport-script: use private index.Sven Verdoolaege, Jul 4, 2005
  35. git-cvsimport-script: fix branch switchingSven Verdoolaege, Jul 4, 2005
  36. git-cvsimport-script: update cvsps cache instead of rebuilding itSven Verdoolaege, Jul 4, 2005
  37. Sven VerdoolaegeJun 30, 2005
  38. Matthias UrlichsJun 30, 2005
  39. Sven VerdoolaegeJul 1, 2005
  40. Matthias UrlichsJul 1, 2005
  41. Sven VerdoolaegeJul 4, 2005
  42. Matthias UrlichsJul 4, 2005
  43. Sven VerdoolaegeJul 4, 2005
  44. Matthias UrlichsJul 4, 2005
  45. Sven VerdoolaegeJul 4, 2005
  46. Sven VerdoolaegeJul 3, 2005
  47. Matthias UrlichsJul 4, 2005
  48. Sven VerdoolaegeJul 4, 2005
  49. Stephen C. TweedieJun 30, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.