{"thread":{"id":"33504","subject":"cvsps: bad usage: invalid argument --norc","startedAt":"2013-04-14T08:18:34Z","lastAt":"2013-04-24T04:47:18Z","messageCount":16,"participants":["Ilya Basin","John Keeping","Eric S. Raymond","Michael Haggerty","Jakub Narębski","Felipe Contreras","Jonathan Nieder"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"214158","messageId":"323381594.20130414121834@gmail.com","threadId":"33504","inReplyTo":null,"subject":"cvsps: bad usage: invalid argument --norc","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-14T08:18:34Z","receivedAt":"2013-04-14T08:18:34Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":"Hi esr.\nIn cvsps 3.10 the flag --norc was removed. It broke 'git cvsimport'.\nPlease give the option back and write something in the man page like:\n    This option has no effect; it is present for compatibility\n"},{"id":"214160","messageId":"673219382.20130414124800@gmail.com","threadId":"33504","inReplyTo":"323381594.20130414121834@gmail.com","subject":"Re: cvsps: bad usage: invalid argument --norc","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-14T08:48:00Z","receivedAt":"2013-04-14T08:48:00Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":"IB> Hi esr.\nIB> In cvsps 3.10 the flag --norc was removed. It broke 'git cvsimport'.\nIB> Please give the option back and write something in the man page like:\nIB>     This option has no effect; it is present for compatibility\n\nLooks like the tool is completely different. I think I'll have to\ndowngrade.\n\n-- \n"},{"id":"214162","messageId":"20130414094756.GA2278@serenity.lan","threadId":"33504","inReplyTo":"673219382.20130414124800@gmail.com","subject":"Re: cvsps: bad usage: invalid argument --norc","fromName":"John Keeping","fromEmail":"john@keeping.me.uk","sentAt":"2013-04-14T09:47:56Z","receivedAt":"2013-04-14T09:47:56Z","isPatch":false,"sender":{"key":"john@keeping.me.uk","avatar":"https://avatars.githubusercontent.com/u/1702081?v=4"},"body":"On Sun, Apr 14, 2013 at 12:48:00PM +0400, Ilya Basin wrote:\n> IB> Hi esr.\n> IB> In cvsps 3.10 the flag --norc was removed. It broke 'git cvsimport'.\n> IB> Please give the option back and write something in the man page like:\n> IB>     This option has no effect; it is present for compatibility\n> \n> Looks like the tool is completely different. I think I'll have to\n> downgrade.\n\nIf you want incremental import support, then that's the best thing to\ndo.  There was some discussion about this in January [1] and it doesn't\nlook like cvsps-3 has changed since then, so if you want to\nincrementally update a Git clone of a CVS repository then cvsps-2 is\nreally the only way to go.\n\nIf you're doing a one-off import then I recommend ignoring git-cvsimport\nand investigating cvs2svn[2] and cvs-fast-export [3].\n\n[1] http://thread.gmane.org/gmane.comp.version-control.git/214258/focus=214305\n[2] http://cvs2svn.tigris.org/cvs2git.html\n[3] https://gitorious.org/cvs-fast-export\n"},{"id":"214168","messageId":"20130414113351.GA1299@thyrsus.com","threadId":"33504","inReplyTo":"673219382.20130414124800@gmail.com","subject":"State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Eric S. Raymond","fromEmail":"esr@thyrsus.com","sentAt":"2013-04-14T11:33:52Z","receivedAt":"2013-04-14T11:33:52Z","isPatch":false,"sender":{"key":"esr@thyrsus.com","avatar":"https://avatars.githubusercontent.com/u/727961?v=4"},"body":"Ilya Basin <basinilya@gmail.com>:\n> IB> Hi esr.\n> IB> In cvsps 3.10 the flag --norc was removed. It broke 'git cvsimport'.\n> IB> Please give the option back and write something in the man page like:\n> IB>     This option has no effect; it is present for compatibility\n> \n> Looks like the tool is completely different. I think I'll have to\n> downgrade.\n\nOr you could just use 3.x directly rather than through the git-cvsimport\nwrapper.  It works better that way - it actually ships a fast-import \nstream that git fast-import can consume directly.\n\nOld cvsps (2.x) was very, very broken; there was a bug in it that\npretty much guaranteed incorrect conversion of branchy repos.  I've\nfixed that particular bug, and several other serious ones, along with\nadding the import-stream output stage, but I don't really trust the\ncvsps code; I think its algorithmic core is weak and klugey and only\nworks semi-by-accident.\n\nI do *not* recommend downgrading, it will pitch you from a bad\nsituation into a worse one.  Yes, Junio is still shipping a wrapper\nfor 2.x, but that was very much against my advice.\n\nI'm also now the maintainer of cvs-fast-export, which used to be Keith \nPackard's utility for lifting the X.org CVS repo to git.  That was before\nI resurrected it and added a fast-import stream output stage. \n\nI *think* cvs-fast-export's algorithms are more correct than cvsps's,\nbut I have not yet been able to pry loose the time to write the really\nrigorous test suite to verify this.  That goal has been second on my\nprority list for a couple of months now; I keep wanting to get to it\nbut having to fight fires on other projects instead.\n\nI wish I could point you at a convertor I really trust.  I can't.\nThere is a third tool, cvs2git (based on the analyzer from cvs2svn)\nthat I don't maintain, which has problems of its own. And those three\nare about it.\n\nYes, it's a swamp. The relatively poor capability of the tools isn't\nanybody's fault; the problem domain is *nasty*.  I've been working a\nclosely related but easier one (Subversion stream dump analysis) for a\ncouple years now and understanding it doesn't make it less ugly.\n\nI think with 4-6 weeks of concentrated attention I could clean up the\nmess and deliver a really high-quality converter, and I'm motivated to\ndo this because I want it as a CVS front end for reposurgeon.  But it\nhasn't happened yet and the incompleteness of my test suite is a\nblocker in the way.\n\nThe topo analysis code in all these tools is really fragile and tends\nto break on old edge cases when you try to teach it to handle new\nones, so a good set of regression tests is especially important.  And\ndoesn't yet exist, though I have built a decent start for cvsps based\non the tests in the git tree.\n\nDo you have enough interest and spare cycles to help finish the test\nsuite?  Another pair of hands on it might speed things up a lot.\n-- \n\t\t<a href=\"http://www.catb.org/~esr/\">Eric S. Raymond</a>\n"},{"id":"214264","messageId":"516B8957.5010508@alum.mit.edu","threadId":"33504","inReplyTo":"20130414113351.GA1299@thyrsus.com","subject":"Re: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Michael Haggerty","fromEmail":"mhagger@alum.mit.edu","sentAt":"2013-04-15T05:00:07Z","receivedAt":"2013-04-15T05:00:07Z","isPatch":false,"sender":{"key":"mhagger@alum.mit.edu","avatar":"https://avatars.githubusercontent.com/u/119718?v=4"},"body":"On 04/14/2013 01:33 PM, Eric S. Raymond wrote:\n> [...]\n> I wish I could point you at a convertor I really trust.  I can't.\n> There is a third tool, cvs2git (based on the analyzer from cvs2svn)\n> that I don't maintain, which has problems of its own.\n                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nAgain I request that instead of spreading non-specific FUD about\ncvs2git, you describe concrete problems so that I can improve the tool.\n So far about the only problems that you have mentioned that have not\nbeen addressed have been stylistic trivia like that you object that\ncvs2git writes its outputs by pass, to two separate files, rather than\nwriting all of its output to stdout, and that you are bothered that it\nnames its temporary directory \"cvs2svn-tmp\" rather than \"cvs2git-tmp\".\n\nI would like to fix any conversion deficiencies you can find.  I stand\nbehind this tool and think it is the best one out there for extracting\nhistory from CVS.\n\nMichael\n\n-- \nMichael Haggerty\nmhagger@alum.mit.edu\nhttp://softwareswirl.blogspot.com/\n"},{"id":"214348","messageId":"1762779000.20130415215818@gmail.com","threadId":"33504","inReplyTo":"20130414113351.GA1299@thyrsus.com","subject":"Re: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-15T17:58:18Z","receivedAt":"2013-04-15T17:58:18Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":"Hi Eric.\n\nI tried --fast-export. It's 2 times faster.\nThe first thing that differs: in cvsps2 commits with adjacent\ntimestamps were joined into one (see the attached files). Do you know\nthe reason?\n\nDoes this --fast-export thing support what John mentioned, the\n\"incremental import support\"? Does 'git fast-import' has it?\nI need it, because full import takes too long.\nThe central repo of my employer is CVS, other people commit to it and\nI use git internally to be able to tidy my commit history before\nexporting to CVS.\n\n-- \n\ncvsps2:\n\ncommit c0654845791da1eefb1e223c8001169d61f9de51\nAuthor: reevzh1 <reevzh1>\nDate:   Fri Jul 28 10:47:17 2006 +0000\n\n    no message\n\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/ReportFraudCDRQuerierPortlet.java | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)\n\ncommit 2ed1c92eec518a5752277a16cf2aea6bd488d6be\nAuthor: reevzh1 <reevzh1>\nDate:   Fri Jul 28 04:51:06 2006 +0000\n\n    no message\n\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/CommonAttributeNames.java         |   6 ++\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/ReportFraudCDRQuerierItem.java    | 129 ++++++++++++++++++++++++\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/ReportFraudCDRQuerierPortlet.java | 101 +++++++++++++++----\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/containers/ReportContainer.java   |  48 +++++++++\n resources/ReportFraudCDRQuerier_en.properties                                                            |   2 +\n web/jsp/report_fraudcdr_querier.jsp                                                                      |  21 ++--\n web/jsp/report_fraudcdr_querier_print.jsp                                                                | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n web/resources/Language_en.properties                                                                     |   8 +-\n 8 files changed, 595 insertions(+), 29 deletions(-)\n\n\n\n\n\n\n\n\n\ncommit d6a7335ea24323509df02b08f52af01926eb5e4d\nAuthor: redane1 <redane1>\nDate:   Thu Jul 6 10:28:24 2006 +0000\n\n    no message\n\n...\n\n\ncvsps3:\n\ncommit d3732dbdf41b348f0050e888733ce2afec05f7f8\nAuthor: reevzh1 <reevzh1>\nDate:   Fri Jul 28 10:47:17 2006 +0000\n\n    no message\n\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/ReportFraudCDRQuerierPortlet.java | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)\n\ncommit 158bc55affa80b60471ea6026b1393934f928e58\nAuthor: reevzh1 <reevzh1>\nDate:   Fri Jul 28 04:51:22 2006 +0000\n\n    no message\n\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/ReportFraudCDRQuerierItem.java  | 129 +++++++++++++++++++++++++\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/containers/ReportContainer.java |  48 ++++++++++\n web/jsp/report_fraudcdr_querier_print.jsp                                                              | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n web/resources/Language_en.properties                                                                   |   8 +-\n 4 files changed, 493 insertions(+), 1 deletion(-)\n\ncommit 1ba90a2baebee9f1838dab04f129c7704331e0a8\nAuthor: reevzh1 <reevzh1>\nDate:   Fri Jul 28 04:51:06 2006 +0000\n\n    no message\n\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/CommonAttributeNames.java         |   6 ++++\n components/rapportlets/src/com/sicap/guif/portalframework/portlets/rap/ReportFraudCDRQuerierPortlet.java | 101 +++++++++++++++++++++++++++++++++++++++++++++------------\n resources/ReportFraudCDRQuerier_en.properties                                                            |   2 ++\n web/jsp/report_fraudcdr_querier.jsp                                                                      |  21 ++++++++----\n 4 files changed, 102 insertions(+), 28 deletions(-)\n\ncommit d6a7335ea24323509df02b08f52af01926eb5e4d\nAuthor: redane1 <redane1>\nDate:   Thu Jul 6 10:28:24 2006 +0000\n\n    no message\n\n...\n"},{"id":"214385","messageId":"516C665D.2060204@gmail.com","threadId":"33504","inReplyTo":"1762779000.20130415215818@gmail.com","subject":"Re: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Jakub Narębski","fromEmail":"jnareb@gmail.com","sentAt":"2013-04-15T20:43:09Z","receivedAt":"2013-04-15T20:43:09Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Ilya Basin wrote:\n\n> Does this --fast-export thing support what John mentioned, the\n> \"incremental import support\"? Does 'git fast-import' has it?\n> I need it, because full import takes too long.\n>\n> The central repo of my employer is CVS, other people commit to it and\n> I use git internally to be able to tidy my commit history before\n> exporting to CVS.\n\nErrr... the need to interact with *live* CVS repository is reason \nbehind wanting incremental import, isn't it?\n\nI wonder how hard would be to create a remote helper for CVS, so that \none could treat CVS repository as foreign remote, fetching from it and \npushing to it...\n\nBTW. can you convince your employer to move to more modern version \ncontrol system (be it Subversion, Kiln Harmony, Veracity, Bazaar, \nMercurial or Git) rather than rely on system which had last release in \n2008 i.e. 4 years ago, doesn't support atomic commits, doesn't support \nversioning of whole repository aka. changesets (beside tags), has slow \nand complicated branching and even more complicated merging, etc.?\n\nhttp://stackoverflow.com/questions/802573/difference-between-git-and-cvs/824241#824241\n-- \nJakub Narębski\n"},{"id":"214700","messageId":"20130418094326.GB11038@thyrsus.com","threadId":"33504","inReplyTo":"1762779000.20130415215818@gmail.com","subject":"Re: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Eric S. Raymond","fromEmail":"esr@thyrsus.com","sentAt":"2013-04-18T09:43:26Z","receivedAt":"2013-04-18T09:43:26Z","isPatch":false,"sender":{"key":"esr@thyrsus.com","avatar":"https://avatars.githubusercontent.com/u/727961?v=4"},"body":"Ilya Basin <basinilya@gmail.com>:\n> Hi Eric.\n> \n> I tried --fast-export. It's 2 times faster.\n> The first thing that differs: in cvsps2 commits with adjacent\n> timestamps were joined into one (see the attached files). Do you know\n> the reason?\n\nThe cvsps guy included code to do that. Keith Packard didn't.  \nSorry I can't be more helpful, but that's about all I know.\n\nI didn't write either analysis stage; I understand cvsps's, somewhat,\nbecause I had to fix several nasty bugs in it.  I *don't* understand\ncvs-fast-export's analysis stage very well yet, because it has no\nobvious bugs that have required me to dive in.  (Keith's notes\ndocument one major bug, which may be inherent to the mismatch between\nfile- and changest-orientation and not fixable in the general case,\nthough I will try.)\n\n> Does this --fast-export thing support what John mentioned, the\n> \"incremental import support\"? Does 'git fast-import' has it?\n\ncvs-fast-export does not have incremental-import support.  Whether\ngit-cvs-import has it depend on which version you have and what\nbackend it it is using. I don't maintain that wrapper.\n\n> I need it, because full import takes too long.\n> The central repo of my employer is CVS, other people commit to it and\n> I use git internally to be able to tidy my commit history before\n> exporting to CVS.\n\nYou are out of luck. That feature was dependent on a very fragile\ncoupling between the old output format and a bunch of unmaintainably \nhorrible Perl in the git-cvs-import wrapper script.  It didn't\nwork very well; frankly, I'm amazed it worked at all.\n\nThe things I had to do to fix the serious bugs in cvsps2 and make it\noutput a fast-import stream had the side effect of breaking that\ncoupling. cvsps3 won't give you that feature. Dropping back to cvsps2\nto keep that feature will expose you to the cvsps2 bugs.\n\nI'm sorry these tools are such a mess.  I'm trying to fix that, but\nit's hard, slow work.  The problems are deeply ugly and the edge cases\nhave poisoned spikes.\n-- \n\t\t<a href=\"http://www.catb.org/~esr/\">Eric S. Raymond</a>\n"},{"id":"214805","messageId":"1095757971.20130419092931@gmail.com","threadId":"33504","inReplyTo":"20130418094326.GB11038@thyrsus.com","subject":"Does git fast-import support deltas?","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-19T05:29:31Z","receivedAt":"2013-04-19T05:29:31Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":"Hi list.\nHere's what I mean:\n1) a created a git repo from a foreign source using git fast-import\n2) new commits were added to the foreign source\n\nCan I create a fast-import input stream not containing the commits\nalready existing in my git repo and import it?\n\nI tried to create such streams with:\n    cvsps --fast-export -d ...\nand from a shallow git repo, but the new commits are not imported\n(unless the import stream contains a new branch)\n"},{"id":"214806","messageId":"CAMP44s10-TcbG8jz1CtK+CAPfdJxNxFj-r0udhLJdQ1hNMzDtg@mail.gmail.com","threadId":"33504","inReplyTo":"1095757971.20130419092931@gmail.com","subject":"Re: Does git fast-import support deltas?","fromName":"Felipe Contreras","fromEmail":"felipe.contreras@gmail.com","sentAt":"2013-04-19T05:44:35Z","receivedAt":"2013-04-19T05:44:35Z","isPatch":false,"sender":{"key":"felipe.contreras@gmail.com","avatar":"https://avatars.githubusercontent.com/u/8358?v=4"},"body":"On Fri, Apr 19, 2013 at 12:29 AM, Ilya Basin <basinilya@gmail.com> wrote:\n> Hi list.\n> Here's what I mean:\n> 1) a created a git repo from a foreign source using git fast-import\n> 2) new commits were added to the foreign source\n>\n> Can I create a fast-import input stream not containing the commits\n> already existing in my git repo and import it?\n\nYes, see the --import-marks and --export-marks options. The stream has\nto refer to the marks that were used int the previous run.\n\nCheers.\n\n-- \nFelipe Contreras\n"},{"id":"214809","messageId":"20130419061323.GB5055@elie.Belkin","threadId":"33504","inReplyTo":"1095757971.20130419092931@gmail.com","subject":"Re: Does git fast-import support deltas?","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-04-19T06:13:23Z","receivedAt":"2013-04-19T06:13:23Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi Ilya,\n\nIlya Basin wrote:\n\n> 1) a created a git repo from a foreign source using git fast-import\n> 2) new commits were added to the foreign source\n>\n> Can I create a fast-import input stream not containing the commits\n> already existing in my git repo and import it?\n\nYes, if the foreign source is structured in a way to make it easy.\nTake a look at the --cat-blob-fd option, the \"ls\" and \"cat-blob\"\ncommands, and see svn-fe from contrib/svn-fe/ as an example.\n\nHope that helps,\nJonathan\n"},{"id":"214908","messageId":"214169596.20130420142251@gmail.com","threadId":"33504","inReplyTo":"20130418094326.GB11038@thyrsus.com","subject":"Re[2]: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-20T10:22:51Z","receivedAt":"2013-04-20T10:22:51Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":"Hi Eric.\n\nESR> cvs-fast-export does not have incremental-import support.\nESR> Whether git-cvs-import has it depend on which version you have\nESR> and what backend it it is using. I don't maintain that wrapper.\nDid you mean \"git-fast-import\"? Or do you know any wrapper that\nalready uses cvsps3 --fast-export?\n\n\n>> I need it, because full import takes too long.\n>> The central repo of my employer is CVS, other people commit to it and\n>> I use git internally to be able to tidy my commit history before\n>> exporting to CVS.\n\nESR> You are out of luck. That feature was dependent on a very fragile\nESR> coupling...\nOK, OK, I get it.\n\n\nFirst of all, I think cvsps3 has almost everithing required for\nincremental import: one could just take the date of the last commit\nand invoke cvs ps with the '-d' flag. However, to import new commits\ninto existing branches the stream should contain the \"from\" command in\noldest commits in each branch (now missing).\nIf the branch already exists in the target git repo, it's easy to\nrefer it in the stream:\n    from refs/heads/branchname^0\n\nBut if the branch is new, but it's parent commit is already imported,\nI guess, the only way to refer it is by its SHA-1\nEric, what parent information can cvsps provide for the first commit\nin a branch, when invoked with the '-d' flag?\n"},{"id":"215263","messageId":"20130423175000.GA25994@thyrsus.com","threadId":"33504","inReplyTo":"214169596.20130420142251@gmail.com","subject":"Re: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Eric S. Raymond","fromEmail":"esr@thyrsus.com","sentAt":"2013-04-23T17:50:00Z","receivedAt":"2013-04-23T17:50:00Z","isPatch":false,"sender":{"key":"esr@thyrsus.com","avatar":"https://avatars.githubusercontent.com/u/727961?v=4"},"body":"Apologies for the somewhat belated reply.  I've been even busier than\nusual lately and am about to be traveling for a week.\n\nIlya Basin <basinilya@gmail.com>:\n> Hi Eric.\n> \n> ESR> cvs-fast-export does not have incremental-import support.\n> ESR> Whether git-cvs-import has it depend on which version you have\n> ESR> and what backend it it is using. I don't maintain that wrapper.\n> Did you mean \"git-fast-import\"? Or do you know any wrapper that\n> already uses cvsps3 --fast-export?\n\nNo, I meant git-cvs-import.  I wrote a version of it that supports\ncvsps3, but Junio chose to keep the old wrapper.  Apparently he would\nrather inflict cvsps2's rather serious known bugs on users than break\nbackward compatibility even a little.  \n\n> First of all, I think cvsps3 has almost everithing required for\n> incremental import: one could just take the date of the last commit\n> and invoke cvs ps with the '-d' flag. However, to import new commits\n> into existing branches the stream should contain the \"from\" command in\n> oldest commits in each branch (now missing).\n> If the branch already exists in the target git repo, it's easy to\n> refer it in the stream:\n>     from refs/heads/branchname^0\n\nLook at the -i option.  That may do what you need.\n \n> But if the branch is new, but it's parent commit is already imported,\n> I guess, the only way to refer it is by its SHA-1\n> Eric, what parent information can cvsps provide for the first commit\n> in a branch, when invoked with the '-d' flag?\n\nAt the moment it doesn't provide any at all.  That case wasn't on my\nradar when I was fixing the code.  If you can specify a behavior you\nthink would be useful, I'm listening.\n-- \n\t\t<a href=\"http://www.catb.org/~esr/\">Eric S. Raymond</a>\n"},{"id":"215266","messageId":"538486753.20130423223007@gmail.com","threadId":"33504","inReplyTo":"20130423175000.GA25994@thyrsus.com","subject":"Re[2]: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-23T18:30:07Z","receivedAt":"2013-04-23T18:30:07Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":">> But if the branch is new, but it's parent commit is already imported,\n>> I guess, the only way to refer it is by its SHA-1\n>> Eric, what parent information can cvsps provide for the first commit\n>> in a branch, when invoked with the '-d' flag?\n\nESR> At the moment it doesn't provide any at all.  That case wasn't on my\nESR> radar when I was fixing the code.  If you can specify a behavior you\nESR> think would be useful, I'm listening.\n\nFor new branches the 'from' command can refer the common ancestor in\nan existing branch. For example:\n\n         /----------E thebranch\n        /\n    A---B---C---D master\n\nCommit E is newer than D; we already imported D; thebranch is new.\nInstead of:\n    from refs/heads/thebranch^0\nrefer the parent as:\n    from refs/heads/master^2\n\n\n\nESR> Look at the -i option.  That may do what you need.\nESR>\n\nOK, something's wrong with the man page: starting with '-A' the\ndescription is unstructured:\n\n       -A authormap\n           Apply an author-map file to the attribution lines. Each line must be of the form\n\n               ferd = Ferd J. Foonly <foonly@foo.com> America/Chicago\n\n           and will be applied to map the Unix username ferd to the DVCS-style user identity specified after the equals\n           sign. The timezone field (after > and whitespace) is optional and (if present) is used to set the timezone\n           offset to be attached to the date; acceptable formats for the timezone field are anything that can be in the TZ\n           environment variable, including a [+-]hhmm offset. Whitespace around the equals sign is stripped. Lines\n           beginning with a # or not containing an equals sign are silently ignored. -R revmap:: Write a revision map to\n           the specified argument filename. Each line of the revision map consists of three whitespace-separated fields: a\n           filename, an RCS revision number, and the mark of the commit to which that filename-revision pair was assigned.\n           -v:: show very verbose parsing messages. -t:: show some brief memory usage statistics. --summary-first:: when\n           multiple patchset diffs are being generated, put the patchset summary for all patchsets at the beginning of the\n           output. --diffs-opts option string:: send a custom set of options to diff, for example to increase the number\n           of context lines, or change the diff format. --debuglvl bitmask:: enable various debug output channels. -Z\n           compression:: A value 1-9 which specifies amount of compression. A value of 0 disables compression. --root\n           cvsroot:: Override the setting of CVSROOT (overrides working directory and environment). -i:: Incremental\n           export. Each commit with no ancestor gets a from pointer name. When importing to an existing repository, this\n           will attach each such commit as a child of the last commit on $BRANCH in the existing repository. -k:: Kill\n           keywords: will extract files with -kk from the CVS archive to avoid noisy changesets. -T:: Force deterministic\n           dates for regression testing. Each patchset will have a monotonic-increasing attributed date computed from its\n           patchset ID. --fast-export:: Emit the report as a git import stream. --convert-ignores:: Convert ..cvsignore\n           files to .gitignore files. --reposurgeon:: Emit for each commit a list of the CVS file:revision pairs composing\n           it as a bzr-style commit property named \"cvs-revisions\". From version 2.12 onward, reposurgeon can interpret\n           these and use them as hints for reference-lifting. -V:: Emit the program version and exit.  module-path::\n           Operate on the specified module. If this option is not given, either the CVSROOT environment variable must be\n           set to point directly at the module or cvsps must be run in a checkout directory or repository module\n           subdirectory.\n\n--\n \n"},{"id":"215273","messageId":"20130423210657.GA32382@thyrsus.com","threadId":"33504","inReplyTo":"538486753.20130423223007@gmail.com","subject":"Re: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Eric S. Raymond","fromEmail":"esr@thyrsus.com","sentAt":"2013-04-23T21:06:57Z","receivedAt":"2013-04-23T21:06:57Z","isPatch":false,"sender":{"key":"esr@thyrsus.com","avatar":"https://avatars.githubusercontent.com/u/727961?v=4"},"body":"Ilya Basin <basinilya@gmail.com>:\n> For new branches the 'from' command can refer the common ancestor in\n> an existing branch. For example:\n> \n>          /----------E thebranch\n>         /\n>     A---B---C---D master\n> \n> Commit E is newer than D; we already imported D; thebranch is new.\n> Instead of:\n>     from refs/heads/thebranch^0\n> refer the parent as:\n>     from refs/heads/master^2\n\nUnderstood.  Do you actually need this much generality in practice, \nor is it a theoretical case?\n\n> OK, something's wrong with the man page: starting with '-A' the\n> description is unstructured:\n\nInteresting.  The aciidoc parser got a little confused, but inserting\nsome blank lines fixed it. \n-- \n\t\t<a href=\"http://www.catb.org/~esr/\">Eric S. Raymond</a>\n"},{"id":"215283","messageId":"9410348686.20130424084718@gmail.com","threadId":"33504","inReplyTo":"20130423210657.GA32382@thyrsus.com","subject":"Re[2]: State of CVS-to-git conversion tools (Was: Re: cvsps: bad usage: invalid argument --norc)","fromName":"Ilya Basin","fromEmail":"basinilya@gmail.com","sentAt":"2013-04-24T04:47:18Z","receivedAt":"2013-04-24T04:47:18Z","isPatch":false,"sender":{"key":"basinilya@gmail.com","avatar":null},"body":"ESR> Ilya Basin <basinilya@gmail.com>:\n>> For new branches the 'from' command can refer the common ancestor in\n>> an existing branch. For example:\n>> \n>>          /----------E thebranch\n>>         /\n>>     A---B---C---D master\n>> \n>> Commit E is newer than D; we already imported D; thebranch is new.\n>> Instead of:\n>>     from refs/heads/thebranch^0\n>> refer the parent as:\n>>     from refs/heads/master^2\n\nESR> Understood.  Do you actually need this much generality in practice, \nESR> or is it a theoretical case?\n\nSuch cases occur quite often.\n\n-- \n"}]}