{"thread":{"id":"12906","subject":"PVCS (or RCS) importer for Git?","startedAt":"2008-03-28T16:17:39Z","lastAt":"2008-03-31T06:26:10Z","messageCount":3,"participants":["Peter Karlsson","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"73277","messageId":"Pine.LNX.4.64.0803281713230.24460@ds9.cixit.se","threadId":"12906","inReplyTo":null,"subject":"PVCS (or RCS) importer for Git?","fromName":"Peter Karlsson","fromEmail":"peter@softwolves.pp.se","sentAt":"2008-03-28T16:17:39Z","receivedAt":"2008-03-28T16:17:39Z","isPatch":false,"sender":{"key":"peter@softwolves.pp.se","avatar":"https://avatars.githubusercontent.com/u/990764?v=4"},"body":"Hi!\n\nHas anyone written an importer to import sources stored in PVCS into\nGit? Or perhaps an RCS importer that actually uses the RCS binaries\n(ci, co, rlog) instead of parsing the ,v files directly?\n\nI am looking at exporting some PVCS sources into Git, but my attempts\nso far hasn't got very far, and I was thinking that maybe someone else\nhad done something similar?\n\nOne problem with PVCS is that it, like RCS, has file-local revision\nnumbering, and that it does not have named branches, the branches are\non the same file-local revisions, so there is no way of telling what a\nbranch is supposed to point to, except by looking at tags set to what\nthe branch created.\n\nRCS is quite similar (PVCS seems to be designed to be a RCS clone), so\nperhaps the problem has already been solved?\n\n\nI have had some limited success by running a the pvcs2rcs.pl script\nfrom CVS's sources and converting that to Git using cvs2svn, but I\nbelieve the result could be better if I converted directly.\n\n-- \n\\\\// Peter - http://www.softwolves.pp.se/\n"},{"id":"73280","messageId":"alpine.LSU.1.00.0803281730060.18259@racer.site","threadId":"12906","inReplyTo":"Pine.LNX.4.64.0803281713230.24460@ds9.cixit.se","subject":"Re: PVCS (or RCS) importer for Git?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2008-03-28T16:33:59Z","receivedAt":"2008-03-28T16:33:59Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 28 Mar 2008, Peter Karlsson wrote:\n\n> Has anyone written an importer to import sources stored in PVCS into\n> Git?\n\nI once tried, but apparently, there are different repository formats for \nPVCS.  For example, pvcs2cvs did not work for me.  IIRC I used a simple \nshell script to convert pvcs (using the mega-slow command line tools) to \n,v files.  Then I converted that to Git.\n\nBut it was pretty bad, the incremental update was broken more often than \nnot.\n\nAnd after a few days, it became apparent that I do not need a full import, \nbut that a simple commit-to-git-after-a-pvcs-update would be sufficient.\n\n> I have had some limited success by running a the pvcs2rcs.pl script from \n> CVS's sources and converting that to Git using cvs2svn, but I believe \n> the result could be better if I converted directly.\n\nJudging from the problems of importing CVS to Git (which mostly stem from \nthe file-versioning paradigm), I suggest not trying to be too clever, but \nconvert it to cvs and use a good cvs importer, such as cvs2svn (which \ndespite its name also imports into Git) or parsecvs.\n\nCiao,\nDscho\n"},{"id":"73414","messageId":"Pine.LNX.4.64.0803310723440.26808@ds9.cixit.se","threadId":"12906","inReplyTo":"alpine.LSU.1.00.0803281730060.18259@racer.site","subject":"Re: PVCS (or RCS) importer for Git?","fromName":"Peter Karlsson","fromEmail":"peter@softwolves.pp.se","sentAt":"2008-03-31T06:26:10Z","receivedAt":"2008-03-31T06:26:10Z","isPatch":false,"sender":{"key":"peter@softwolves.pp.se","avatar":"https://avatars.githubusercontent.com/u/990764?v=4"},"body":"Johannes Schindelin:\n\n> I once tried, but apparently, there are different repository formats\n> for PVCS. For example, pvcs2cvs did not work for me.\n\nYeah, the format is binary. That is why I am trying to use the\ncommand-line tools.\n\n> IIRC I used a simple shell script to convert pvcs (using the\n> mega-slow command line tools) to ,v files.  Then I converted that to Git.\n\nThat is, more or less, what the pvcs2cvs script does. I've had some\nsuccess with it.\n\n> Judging from the problems of importing CVS to Git (which mostly stem\n> from the file-versioning paradigm), I suggest not trying to be too\n> clever, but convert it to cvs and use a good cvs importer, such as\n> cvs2svn (which despite its name also imports into Git) or parsecvs.\n\nGiven that the PVCS history file (\"trail\") that I was trying to follow\ndidn't quite work out, because there had been some direct manipulations\nof the PVCS repository that were not recorded there, I think that is\nthe way I will have to go. That means I do lose the tagging\ninformation (timestamp and tagger), but I can live with that...\n\nThanks for the input.\n-- \n\\\\// Peter - http://www.softwolves.pp.se/\n"}]}