{"thread":{"id":"10648","subject":"Warning: cvsexportcommit considered dangerous","startedAt":"2007-11-04T16:41:12Z","lastAt":"2007-11-15T11:59:46Z","messageCount":6,"participants":["Johannes Schindelin","Steffen Prohaska","Robin Rosenberg","Alex Bennee"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"58282","messageId":"Pine.LNX.4.64.0711041638270.4362@racer.site","threadId":"10648","inReplyTo":null,"subject":"Warning: cvsexportcommit considered dangerous","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-04T16:41:12Z","receivedAt":"2007-11-04T16:41:12Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\never since the up-to-date check was changed to use just one call to \"cvs \nstatus\", a bug was present.  Now cvsexportcommit expects \"cvs status\" to \nreturn the results in the same order as the file names were passed.\n\nThis is not true, as I had to realise with one of my projects on \nsourceforge.\n\nSince time is so scarce on my side, I will not have time to fix this bug, \nbut will instead return to my old \"commit by hand\" procedure.\n\nCiao,\nDscho\n"},{"id":"58308","messageId":"623F4AFA-FE43-4046-9D3F-435396BBE17D@zib.de","threadId":"10648","inReplyTo":"Pine.LNX.4.64.0711041638270.4362@racer.site","subject":"Re: Warning: cvsexportcommit considered dangerous","fromName":"Steffen Prohaska","fromEmail":"prohaska@zib.de","sentAt":"2007-11-04T18:16:20Z","receivedAt":"2007-11-04T18:16:20Z","isPatch":false,"sender":{"key":"prohaska@zib.de","avatar":"https://avatars.githubusercontent.com/u/217580?v=4"},"body":"\nOn Nov 4, 2007, at 5:41 PM, Johannes Schindelin wrote:\n\n> ever since the up-to-date check was changed to use just one call to  \n> \"cvs\n> status\", a bug was present.  Now cvsexportcommit expects \"cvs  \n> status\" to\n> return the results in the same order as the file names were passed.\n>\n> This is not true, as I had to realise with one of my projects on\n> sourceforge.\n>\n> Since time is so scarce on my side, I will not have time to fix  \n> this bug,\n> but will instead return to my old \"commit by hand\" procedure.\n\nI introduced this 'optimization', which turned out to be a bug.\nSo, I feel responsible. Sorry for the trouble.\n\nIn August this was already recognized and a patch submitted:\n\nhttp://marc.info/?t=118718458000004&r=1&w=2\n\nI do not know why it wasn't applied. I forgot re-checking after my\nvacation.\n\nI put all on CC who replied to the patch in August.\n\n\tSteffen\n"},{"id":"58310","messageId":"Pine.LNX.4.64.0711042133330.4362@racer.site","threadId":"10648","inReplyTo":"623F4AFA-FE43-4046-9D3F-435396BBE17D@zib.de","subject":"Re: Warning: cvsexportcommit considered dangerous","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-04T21:35:41Z","receivedAt":"2007-11-04T21:35:41Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 4 Nov 2007, Steffen Prohaska wrote:\n\n> On Nov 4, 2007, at 5:41 PM, Johannes Schindelin wrote:\n> \n> > ever since the up-to-date check was changed to use just one call to \n> > \"cvs status\", a bug was present.  Now cvsexportcommit expects \"cvs \n> > status\" to return the results in the same order as the file names were \n> > passed.\n> > \n> > This is not true, as I had to realise with one of my projects on \n> > sourceforge.\n> > \n> > Since time is so scarce on my side, I will not have time to fix this \n> > bug, but will instead return to my old \"commit by hand\" procedure.\n> \n> I introduced this 'optimization', which turned out to be a bug. So, I \n> feel responsible. Sorry for the trouble.\n> \n> In August this was already recognized and a patch submitted:\n> \n> http://marc.info/?t=118718458000004&r=1&w=2\n> \n> I do not know why it wasn't applied. I forgot re-checking after my \n> vacation.\n\nIt slipped by me, because of holiday, too.  (I was on my well needed \nholiday then.)\n\nBut that patch really seems like a step back to me.  The line \"File: ... \nStatus: ...\" should be parsable enough to fix the bug properly, instead of \nundoing the optimisation.\n\nAFAICS Robin replied with a \"let's see if a proper fix materialises\", and \nI kind of hope that it will materialise soon.\n\nCiao,\nDscho\n"},{"id":"58317","messageId":"200711050005.28561.robin.rosenberg.lists@dewire.com","threadId":"10648","inReplyTo":"Pine.LNX.4.64.0711042133330.4362@racer.site","subject":"Re: Warning: cvsexportcommit considered dangerous","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2007-11-04T23:05:28Z","receivedAt":"2007-11-04T23:05:28Z","isPatch":false,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"söndag 04 november 2007 skrev Johannes Schindelin:\n> Hi,\n> \n> On Sun, 4 Nov 2007, Steffen Prohaska wrote:\n> \n> > On Nov 4, 2007, at 5:41 PM, Johannes Schindelin wrote:\n> > \n> > > ever since the up-to-date check was changed to use just one call to \n> > > \"cvs status\", a bug was present.  Now cvsexportcommit expects \"cvs \n> > > status\" to return the results in the same order as the file names were \n> > > passed.\n> > > \n> > > This is not true, as I had to realise with one of my projects on \n> > > sourceforge.\n> > > \n> > > Since time is so scarce on my side, I will not have time to fix this \n> > > bug, but will instead return to my old \"commit by hand\" procedure.\n> > \n> > I introduced this 'optimization', which turned out to be a bug. So, I \n> > feel responsible. Sorry for the trouble.\n> > \n> > In August this was already recognized and a patch submitted:\n> > \n> > http://marc.info/?t=118718458000004&r=1&w=2\n> > \n> > I do not know why it wasn't applied. I forgot re-checking after my \n> > vacation.\n> \n> It slipped by me, because of holiday, too.  (I was on my well needed \n> holiday then.)\n> \n> But that patch really seems like a step back to me.  The line \"File: ... \n> Status: ...\" should be parsable enough to fix the bug properly, instead of \n> undoing the optimisation.\nUnfortunately it's not that easy to parse. It *can* be done by looking at the\nrepository path, and the CVS/Root etc, but it's not nice. \n\n> \n> AFAICS Robin replied with a \"let's see if a proper fix materialises\", and \n> I kind of hope that it will materialise soon.\n\nStill hoping :). BTW, wouldn't this err on the right side anyway, i.e. if an\nexisting file was not up to date and was wrongly thought to not exist or a new \nfile was thought to be up-to-date, I would get an error and would not be able\nto commit. I've never seen it though and I always have a clean CVS checkout\nso the potential bug seems unlikely to me.\n\nThe command I always use is.\n\n\tgit cvsexportcommit -u -c -w /my/cvs/checkout\n\nNever bitten me yet (touch wood).\n\nMy real worry is on the other side, with bad conversion from CVS to git.\n\n-- robin\n"},{"id":"58324","messageId":"Pine.LNX.4.64.0711042345260.4362@racer.site","threadId":"10648","inReplyTo":"200711050005.28561.robin.rosenberg.lists@dewire.com","subject":"Re: Warning: cvsexportcommit considered dangerous","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-04T23:46:43Z","receivedAt":"2007-11-04T23:46:43Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 5 Nov 2007, Robin Rosenberg wrote:\n\n> BTW, wouldn't this err on the right side anyway, i.e. if an existing \n> file was not up to date and was wrongly thought to not exist or a new \n> file was thought to be up-to-date, I would get an error and would not be \n> able to commit. I've never seen it though and I always have a clean CVS \n> checkout so the potential bug seems unlikely to me.\n\nThe problem is that it can err.  For example when I have new files, it \nsays that the files were already added by someone else.  And then it \nrefuses to do anything.\n\nCiao,\nDscho\n"},{"id":"59974","messageId":"1195127986.32371.6.camel@murta.transitives.com","threadId":"10648","inReplyTo":"200711050005.28561.robin.rosenberg.lists@dewire.com","subject":"Re: Warning: cvsexportcommit considered dangerous","fromName":"Alex Bennee","fromEmail":"kernel-hacker@bennee.com","sentAt":"2007-11-15T11:59:46Z","receivedAt":"2007-11-15T11:59:46Z","isPatch":false,"sender":{"key":"kernel-hacker@bennee.com","avatar":null},"body":"On Mon, 2007-11-05 at 00:05 +0100, Robin Rosenberg wrote:\n> söndag 04 november 2007 skrev Johannes Schindelin:\n> > Hi,\n> > On Sun, 4 Nov 2007, Steffen Prohaska wrote:\n> > > On Nov 4, 2007, at 5:41 PM, Johannes Schindelin wrote:\n> > > > ever since the up-to-date check was changed to use just one call to \n> > > > \"cvs status\", a bug was present.  Now cvsexportcommit expects \"cvs \n> > > > status\" to return the results in the same order as the file names were \n> > > > passed.\n> > > I do not know why it wasn't applied. I forgot re-checking after my \n> > > vacation.\n\nI think at the time it was felt the speed hit was too great on large\ntrees. Although my view still is we should always go for correctness\nover speed.\n\n> > It slipped by me, because of holiday, too.  (I was on my well needed \n> > holiday then.)\n> > \n> > But that patch really seems like a step back to me.  The line \"File: ... \n> > Status: ...\" should be parsable enough to fix the bug properly, instead of \n> > undoing the optimisation.\n> Unfortunately it's not that easy to parse. It *can* be done by looking at the\n> repository path, and the CVS/Root etc, but it's not nice. \n\nI also worry about corner cases in parsing code, especially if you have\nto start poking around in CVS/Root files. Another (ugly) method could be\na two pass attempt, falling back to an individual status call if the\n\"optimized\" version isn't sure.\n\n> > AFAICS Robin replied with a \"let's see if a proper fix materialises\", and \n> > I kind of hope that it will materialise soon.\n\nI've not had another go at fixing this mainly due to being too busy. The\ncurrent patch works for me.\n\n> Still hoping :). BTW, wouldn't this err on the right side anyway, i.e. if an\n> existing file was not up to date and was wrongly thought to not exist or a new \n> file was thought to be up-to-date, I would get an error and would not be able\n> to commit. I've never seen it though and I always have a clean CVS checkout\n> so the potential bug seems unlikely to me.\n\nIt's not just new files that can break (btw another fix has gone in to\nensure directories are added to CVS trees in order). \n\n-- \nAlex, homepage: http://www.bennee.com/~alex/\nNothing in life is to be feared. It is only to be understood.\n"}]}