{"thread":{"id":"4031","subject":"Problem using GIT CVS-server","startedAt":"2006-05-03T08:11:17Z","lastAt":"2006-05-03T21:21:22Z","messageCount":13,"participants":["Panagiotis Issaris","Andreas Ericsson","Martin Langhoff","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"19404","messageId":"445865A5.5030700@lumumba.uhasselt.be","threadId":"4031","inReplyTo":null,"subject":"Problem using GIT CVS-server","fromName":"Panagiotis Issaris","fromEmail":"takis@lumumba.uhasselt.be","sentAt":"2006-05-03T08:11:17Z","receivedAt":"2006-05-03T08:11:17Z","isPatch":false,"sender":{"key":"takis@lumumba.uhasselt.be","avatar":null},"body":"Hi,\n\nI've tried using git-cvsserver, but keep running into problems:\nWhen doing a checkout, it only checks out a small subset of\nthe total amount of files in the repository and reports a warning/error.\nWhen doing a subsequent update, it doesn't seem to do anything,\nbut reports two error messages/warnings.\n\nI'm using yesterdays GIT and try to serve my local copy of the GIT\nrepository using git-cvsserver.\n\nexport CVSROOT=:ext:takis@localhost:/usr/local/src/git/.git\nexport CVS_SERVER=git-cvsserver\n\ntakis@issaris:/tmp/a/b$ cvs co -d project-master master\ntakis@localhost's password:\ncvs checkout: Updating project-master\nU project-master/Makefile\nU project-master/README\nU project-master/cache.h\nU project-master/cat-file.c\nU project-master/commit-tree.c\nU project-master/init-db.c\nU project-master/read-cache.c\nU project-master/read-tree.c\nU project-master/show-diff.c\nU project-master/update-cache.c\nU project-master/write-tree.c\nclosing dbh with active statement handles\ntakis@issaris:/tmp/a/b$ cd project-master/\ntakis@issaris:/tmp/a/b/project-master$ cvs -z3 update -PAd\ntakis@localhost's password:\nserver doesn't support gzip-file-contents\nclosing dbh with active statement handles\ntakis@issaris:/tmp/a/b/project-master$\n\nWith friendly regards,\nTakis\n"},{"id":"19405","messageId":"4458670A.4080205@op5.se","threadId":"4031","inReplyTo":"445865A5.5030700@lumumba.uhasselt.be","subject":"Re: Problem using GIT CVS-server","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2006-05-03T08:17:14Z","receivedAt":"2006-05-03T08:17:14Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Panagiotis Issaris wrote:\n> Hi,\n> \n> I've tried using git-cvsserver, but keep running into problems:\n> When doing a checkout, it only checks out a small subset of\n> the total amount of files in the repository and reports a warning/error.\n> When doing a subsequent update, it doesn't seem to do anything,\n> but reports two error messages/warnings.\n> \n\n...\n\n> takis@issaris:/tmp/a/b$ cd project-master/\n> takis@issaris:/tmp/a/b/project-master$ cvs -z3 update -PAd\n> takis@localhost's password:\n> server doesn't support gzip-file-contents\n\n\nDrop -z3 from command-line. git-cvsserver has no compression support.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"19406","messageId":"4458691A.4010007@lumumba.uhasselt.be","threadId":"4031","inReplyTo":"4458670A.4080205@op5.se","subject":"Re: Problem using GIT CVS-server","fromName":"Panagiotis Issaris","fromEmail":"takis@lumumba.uhasselt.be","sentAt":"2006-05-03T08:26:02Z","receivedAt":"2006-05-03T08:26:02Z","isPatch":false,"sender":{"key":"takis@lumumba.uhasselt.be","avatar":null},"body":"Hi,\n\nAndreas Ericsson wrote:\n\n> [...]\n>\n> Drop -z3 from command-line. git-cvsserver has no compression support.\n\nThanks!\n\nAhum, painful. That should have been obvious :), but I'm kinda programmed\nto use \"-z3 -PAd\" whenever I do a cvs update. I didn't even notice the \nz3 in\nmy own typing :->\n\n\nWithout the z3, it gives the same error/warning as on checkout:\ntakis@issaris:/tmp/a/b/project-master$ cvs update -PAd\ntakis@localhost's password:\nclosing dbh with active statement handles\ntakis@issaris:/tmp/a/b/project-master$\n\n\nWith friendly regards,\nTakis\n"},{"id":"19411","messageId":"44586D73.5060301@op5.se","threadId":"4031","inReplyTo":"4458691A.4010007@lumumba.uhasselt.be","subject":"Re: Problem using GIT CVS-server","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2006-05-03T08:44:35Z","receivedAt":"2006-05-03T08:44:35Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Panagiotis Issaris wrote:\n> Hi,\n> \n> Andreas Ericsson wrote:\n> \n>> [...]\n>>\n>> Drop -z3 from command-line. git-cvsserver has no compression support.\n> \n> \n> Thanks!\n> \n> Ahum, painful. That should have been obvious :), but I'm kinda programmed\n> to use \"-z3 -PAd\" whenever I do a cvs update. I didn't even notice the \n> z3 in\n> my own typing :->\n> \n> \n> Without the z3, it gives the same error/warning as on checkout:\n> takis@issaris:/tmp/a/b/project-master$ cvs update -PAd\n> takis@localhost's password:\n> closing dbh with active statement handles\n> takis@issaris:/tmp/a/b/project-master$\n> \n\nThat error message comes from your client. I have no idea why, and now \nthat I'm a git fanatic I'll stay blissfully ignorant of CVS' internal \nworkings. Martyn and Martin (the dynamic duo that wrote the cvsserver \nthingie) might be able to tell you more.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"19414","messageId":"46a038f90605030311s4e05de2dr90277f97a3a5c223@mail.gmail.com","threadId":"4031","inReplyTo":"445865A5.5030700@lumumba.uhasselt.be","subject":"Re: Problem using GIT CVS-server","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-05-03T10:11:58Z","receivedAt":"2006-05-03T10:11:58Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 5/3/06, Panagiotis Issaris <takis@lumumba.uhasselt.be> wrote:\n\n> I've tried using git-cvsserver, but keep running into problems:\n\nPanagiotis,\n\nthanks a lot for the feedback! cvsserver has mainly been\ntried/debugged with a few repositories, mainly the moodle.git\nrepository that we host, which is an import from a CVS repo.\n\n> When doing a checkout, it only checks out a small subset of\n> the total amount of files in the repository and reports a warning/error.\n\nHmmm. 100% reproduceable -- looking at it now.\n\n> When doing a subsequent update, it doesn't seem to do anything,\n> but reports two error messages/warnings.\n...\n\n> closing dbh with active statement handles\n\nI thought we had gotten rid of those. In any case, I don't see that\nerror, and it's just a silly warning from DBI, as we are using cached\nstatements. As it happens when cvsserver is shutting down, it doesn't\nactually break the protocol.\n\n> server doesn't support gzip-file-contents\n\nThat warning is harmless, and always there. I did look once at\nimplementing gzip compression, but in some cases it implies creating\nextra temp files to calculate the size, so I've opted to leave it for\nsome other day.\n\nOTOH, we could declare that we handle it, and never actually send a\ngzipped file ;-) as long as we can handle gzipped content from the\nclient.\n\ncheers,\n\n\nmartin\n"},{"id":"19417","messageId":"46a038f90605030411o29af1d1bra3276353347516f6@mail.gmail.com","threadId":"4031","inReplyTo":"46a038f90605030311s4e05de2dr90277f97a3a5c223@mail.gmail.com","subject":"Re: Problem using GIT CVS-server","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-05-03T11:11:17Z","receivedAt":"2006-05-03T11:11:17Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 5/3/06, Martin Langhoff <martin.langhoff@gmail.com> wrote:\n> Hmmm. 100% reproduceable -- looking at it now.\n\nGrumble. Some recent change has broken cvsserver -- if I rewind to the\ncommit I made of cvsserver, the checkout works correctly. I suspect\nchanges to git-diff-tree. However, I'll play dumb and try bisect to\nsee where it leads...\n\n(Nice thing about bisecting with C code is that as you get closer the\ndelta is smaller, and the recompile is smaller too ;-)\n\nOk -- an hour's gone by and I'm still fidgeting with bisect. It seems\nto have been broken soon after v1.3.0 but I'm having trouble nailing\nthe commit, and understanding WRF has changed.\n\nCan you test with git v1.3.0?\n\n\nmartin\n"},{"id":"19418","messageId":"445895AC.6070109@lumumba.uhasselt.be","threadId":"4031","inReplyTo":"46a038f90605030411o29af1d1bra3276353347516f6@mail.gmail.com","subject":"Re: Problem using GIT CVS-server","fromName":"Panagiotis Issaris","fromEmail":"takis@lumumba.uhasselt.be","sentAt":"2006-05-03T11:36:12Z","receivedAt":"2006-05-03T11:36:12Z","isPatch":false,"sender":{"key":"takis@lumumba.uhasselt.be","avatar":null},"body":"Hi,\n\nMartin Langhoff wrote:\n\n> On 5/3/06, Martin Langhoff <martin.langhoff@gmail.com> wrote:\n>\n>> Hmmm. 100% reproduceable -- looking at it now.\n>\n>\n> Grumble. Some recent change has broken cvsserver -- if I rewind to the\n> commit I made of cvsserver, the checkout works correctly. I suspect\n> changes to git-diff-tree. However, I'll play dumb and try bisect to\n> see where it leads...\n>\n> (Nice thing about bisecting with C code is that as you get closer the\n> delta is smaller, and the recompile is smaller too ;-)\n>\n> Ok -- an hour's gone by and I'm still fidgeting with bisect. It seems\n> to have been broken soon after v1.3.0 but I'm having trouble nailing\n> the commit, and understanding WRF has changed.\n>\n> Can you test with git v1.3.0?\n\nYes, I installed 1.3.0 using \"make prefix=/tmp/testje install\"\nbut, I'm getting the same problem (other then my failing typing\nskills ;-) :\n\ntakis@issaris:/tmp/a/c$ export PATH=/tmp/testje/bin/:$PATH\ntakis@issaris:/tmp/a/c$ git --version\ngit version 1.3.0\ntakis@issaris:/tmp/a/c$ cvs co -d project-master master\ntakis@localhost's password:\nPermission denied, please try again.\ntakis@localhost's password:\nPermission denied, please try again.\ntakis@localhost's password:\ncvs checkout: Updating project-master\nU project-master/Makefile\nU project-master/README\nU project-master/cache.h\nU project-master/cat-file.c\nU project-master/commit-tree.c\nU project-master/init-db.c\nU project-master/read-cache.c\nU project-master/read-tree.c\nU project-master/show-diff.c\nU project-master/update-cache.c\nU project-master/write-tree.c\nclosing dbh with active statement handles\ntakis@issaris:/tmp/a/c$ which git\n/tmp/testje/bin//git\n\n\nWith friendly regards,\nTakis\n"},{"id":"19419","messageId":"445896E7.1070306@lumumba.uhasselt.be","threadId":"4031","inReplyTo":"46a038f90605030311s4e05de2dr90277f97a3a5c223@mail.gmail.com","subject":"Re: Problem using GIT CVS-server","fromName":"Panagiotis Issaris","fromEmail":"takis@lumumba.uhasselt.be","sentAt":"2006-05-03T11:41:27Z","receivedAt":"2006-05-03T11:41:27Z","isPatch":false,"sender":{"key":"takis@lumumba.uhasselt.be","avatar":null},"body":"Hi,\n\nMartin Langhoff wrote:\n\n> [...]\n> thanks a lot for the feedback! cvsserver has mainly been\n> tried/debugged with a few repositories, mainly the moodle.git\n> repository that we host, which is an import from a CVS repo.\n\nI didnt even know it existed! :) I was looking for an Eclipse plugin\n(anyone heard anything about such a beast after 20060313?), when\nI accidently stumbled upon the git-cvsserver manpage, somewhere\non the web.\n\n> [...]\n> That warning is harmless, and always there. I did look once at\n> implementing gzip compression, but in some cases it implies creating\n> extra temp files to calculate the size, so I've opted to leave it for\n> some other day.\n>\n> OTOH, we could declare that we handle it, and never actually send a\n> gzipped file ;-) as long as we can handle gzipped content from the\n> client.\n\nNot really an issue imho :) I just automatically type -z3 whenever I do\na CVS update :)\n\nBTW, thanks for writing git-cvsserver!\n\nWith friendly regards,\nTakis\n"},{"id":"19420","messageId":"46a038f90605030442k5c4eee9dj25d4a467942b0f74@mail.gmail.com","threadId":"4031","inReplyTo":"445895AC.6070109@lumumba.uhasselt.be","subject":"Re: Problem using GIT CVS-server","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-05-03T11:42:45Z","receivedAt":"2006-05-03T11:42:45Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 5/3/06, Panagiotis Issaris <takis@lumumba.uhasselt.be> wrote:\n> Yes, I installed 1.3.0 using \"make prefix=/tmp/testje install\"\n> but, I'm getting the same problem (other then my failing typing\n> skills ;-) :\n\nThe problem is that, while you are executing git-cvsserver from\n/tmp/testje, git-cvsserver invokes git-log from the path, and that is\nthe \"bad\" git-log. Change your PATH in .bashrc so that the /tmp/testje\ninstall takes precedence...\n\ncheers,\n\n\nmartin\n"},{"id":"19424","messageId":"44589BED.20503@lumumba.uhasselt.be","threadId":"4031","inReplyTo":"46a038f90605030442k5c4eee9dj25d4a467942b0f74@mail.gmail.com","subject":"Re: Problem using GIT CVS-server","fromName":"Panagiotis Issaris","fromEmail":"takis@lumumba.uhasselt.be","sentAt":"2006-05-03T12:02:53Z","receivedAt":"2006-05-03T12:02:53Z","isPatch":false,"sender":{"key":"takis@lumumba.uhasselt.be","avatar":null},"body":"Hi,\n\nMartin Langhoff wrote:\n\n> On 5/3/06, Panagiotis Issaris <takis@lumumba.uhasselt.be> wrote:\n>\n>> Yes, I installed 1.3.0 using \"make prefix=/tmp/testje install\"\n>> but, I'm getting the same problem (other then my failing typing\n>> skills ;-) :\n>\n>\n> The problem is that, while you are executing git-cvsserver from\n> /tmp/testje, git-cvsserver invokes git-log from the path, and that is\n> the \"bad\" git-log. Change your PATH in .bashrc so that the /tmp/testje\n> install takes precedence...\n\nPrefixing /tmp/testje/bin to my PATH in .bashrc wouldnt work, so I just \nreplaced\nmy locally built GIT-.deb package with a locally built v1.3.0 version of \nthe package.\nAll worked fine now! :-)\n\nWith friendly regards,\nTakis\n"},{"id":"19463","messageId":"7v1wvaevno.fsf@assigned-by-dhcp.cox.net","threadId":"4031","inReplyTo":"46a038f90605030411o29af1d1bra3276353347516f6@mail.gmail.com","subject":"Re: Problem using GIT CVS-server","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-05-03T19:49:15Z","receivedAt":"2006-05-03T19:49:15Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n\n> On 5/3/06, Martin Langhoff <martin.langhoff@gmail.com> wrote:\n>> Hmmm. 100% reproduceable -- looking at it now.\n>\n> Grumble. Some recent change has broken cvsserver -- if I rewind to the\n> commit I made of cvsserver, the checkout works correctly. I suspect\n> changes to git-diff-tree. However, I'll play dumb and try bisect to\n> see where it leads...\n\nAh, the \"master\" git-log is C-rewrite version and does not show\nthe parents on the \"commit (.*)\" line itself with --parents.\n\nCould you see if the attached patch helps?\n\nWhen Linus and I did the rewrite, we tried to be somewhat\ncareful not to break people's expectations, but at the same\ntime, we considered that the log/show/whatchanged frontends to\nrev-list are primarily for human consumption, so we \"improved\"\nthe details a bit [*1*], which obviously broke cvsserver's use\nof git-log.\n\n*1* Another difference I know about is that whatchanged used to\nstart an entry with \"diff-tree\" but now says \"commit\" like\nothers in \"log\" family of frontends.\n\n-- >8 --\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex 11d153c..71e384c 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -2076,14 +2076,15 @@ sub update\n     # TODO: log processing is memory bound\n     # if we can parse into a 2nd file that is in reverse order\n     # we can probably do something really efficient\n-    my @git_log_params = ('--parents', '--topo-order');\n+    my @git_rl_params = ('--parents', '--topo-order', '--pretty');\n \n     if (defined $lastcommit) {\n-        push @git_log_params, \"$lastcommit..$self->{module}\";\n+        push @git_rl_params, \"$lastcommit..$self->{module}\";\n     } else {\n-        push @git_log_params, $self->{module};\n+        push @git_rl_params, $self->{module};\n     }\n-    open(GITLOG, '-|', 'git-log', @git_log_params) or die \"Cannot call git-log: $!\";\n+    open(GITLOG, '-|', 'git-rev-list',\n+\t @git_rl_params) or die \"Cannot call git-rev-list: $!\";\n \n     my @commits;\n \n"},{"id":"19467","messageId":"46a038f90605031412s363b4a79p548c75956b00adbf@mail.gmail.com","threadId":"4031","inReplyTo":"7v1wvaevno.fsf@assigned-by-dhcp.cox.net","subject":"Re: Problem using GIT CVS-server","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2006-05-03T21:12:39Z","receivedAt":"2006-05-03T21:12:39Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 5/4/06, Junio C Hamano <junkio@cox.net> wrote:\n> Ah, the \"master\" git-log is C-rewrite version and does not show\n> the parents on the \"commit (.*)\" line itself with --parents.\n\nExactly.\n\n> Could you see if the attached patch helps?\n\nWill try it in a moment. Having thought about it, git-log is always\ngoing to be tweaked for human consumption, so I should use something\ngeared for porcelains instead. git-rev-list does honour --parent, so\nperhaps I should switch to using that instead?\n\ncheers,\n\n\nmartin\n"},{"id":"19468","messageId":"7vmzdyby99.fsf@assigned-by-dhcp.cox.net","threadId":"4031","inReplyTo":"46a038f90605031412s363b4a79p548c75956b00adbf@mail.gmail.com","subject":"Re: Problem using GIT CVS-server","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-05-03T21:21:22Z","receivedAt":"2006-05-03T21:21:22Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Martin Langhoff\" <martin.langhoff@gmail.com> writes:\n\n>> Could you see if the attached patch helps?\n>\n> Will try it in a moment. Having thought about it, git-log is always\n> going to be tweaked for human consumption, so I should use something\n> geared for porcelains instead. git-rev-list does honour --parent, so\n> perhaps I should switch to using that instead?\n\nI think that reasoning is prudent, but at the same time I think\nthe patch by Linus is also right, so I think we should do both\nfor this particular case.\n\nSorry about the breakage.\n"}]}