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

Re: [PATCH] git-cvsimport-script: parse multidigit revisions

From
Matthias Urlichs <smurf@smurf.noris.de>
Date
Jul 25, 2005, 23:42 UTC
Message-ID
<20050725234257.GC5680@kiste.smurf.noris.de>
In-Reply-To
<Pine.LNX.4.58.0507251544300.6074@g5.osdl.org>
Hi,
Linus Torvalds:
> In particular, they always end up being imported as zero-sized empty
> files, and will be filled in only later if that file is ever touched 
> again. In other words, the resulting git tree ends up being bogus.
> 

That's a problem with the bkcvs tree. Remember tht Bitkeeper does exactly the same thing -- the 1.0 version of *any* file is empty, and content appears only in version 1.1.

Well, the bkcvs export preserved that ... "feature".
(Side question - why aren't you doing a direct bk2git import?)
> 	Argument "28213 has collisions" isn't numeric in addition (+) at /home/torvalds/bin/git-cvsimport-script line 600, <CVS> line 1.

That's an output from cvsps that is not handled yet. If you really need it I'll have to investigate.

> Btw, looking at what the perl script _seems_ to do, it does seem to do
> insane things for the local CVS archive case. As far as I can tell from
> the spaghetti that is perl, it uses a CVS server to handle even the local 
> file case, which just _can't_ be right.
Sure it is, because ...
>                                         I realize you'd want to do that to 
> avoid connecting millions of times, but maybe it's better to use something 
> like cvsnup to download the whole thing, and then always use a local CVS 
> archive?

... I don't have a sensible RCS library for perl (the code that I could find is just a command line front-end). Fork+exec of some cvs checkout command per file is slower than just running a persistent CVS server.

I've tried other ideas, but they run into problems because some idiots^Wpeople occasionally tag only parts of a CVS tree, or they do it at different times, and cvsps has to rearrange stuff in a way the CVS utilities don't understand, so any higher-level access than "grab a bunch of files by their revision number and stick them into a commit" don't work in real life.

-- 
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  smurf@smurf.noris.de
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
 - -
Please try to limit the amount of "this room doesn't have any bazingas"
until you are told that those rooms are "punched out."  Once punched out,
we have a right to complain about atrocities, missing bazingas, and such.
		-- N. Meyrowitz
Previous: Linus TorvaldsNext: Linus Torvalds
Message 4 of 11 in “git-cvsimport-script: parse multidigit revisions”
  1. git-cvsimport-script: parse multidigit revisionsSven Verdoolaege, Jul 12, 2005
  2. Matthias UrlichsJul 13, 2005
  3. Linus TorvaldsJul 25, 2005
  4. Matthias UrlichsJul 25, 2005
  5. Linus TorvaldsJul 26, 2005
  6. Linus TorvaldsJul 26, 2005
  7. Linus TorvaldsJul 26, 2005
  8. Rene ScharfeJul 26, 2005
  9. David MansfieldJul 26, 2005
  10. Linus TorvaldsJul 26, 2005
  11. Ryan AndersonJul 26, 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.