{"thread":{"id":"35489","subject":"Git reports","startedAt":"2013-12-06T16:51:47Z","lastAt":"2013-12-07T19:46:16Z","messageCount":12,"participants":["Muzaffer Tolga Ozses","Konstantin Khomoutov","Jeff King","Jonathan Nieder","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"231658","messageId":"CAMAQ3n+OtBdYALh4pg6kywtbgPtQjHr6Xc-2ff63df-h=TLwbA@mail.gmail.com","threadId":"35489","inReplyTo":null,"subject":"Git reports","fromName":"Muzaffer Tolga Ozses","fromEmail":"tolga@ozses.net","sentAt":"2013-12-06T16:51:47Z","receivedAt":"2013-12-06T16:51:47Z","isPatch":false,"sender":{"key":"tolga@ozses.net","avatar":null},"body":"Hi,\n\nOn another git server, I get reports like\nCloning into 'tcmb'...\nremote: Counting objects: 704, done.\nremote: Compressing objects: 100% (574/574), done.\nremote: Total 704 (delta 369), reused 107 (delta 60)\nReceiving objects: 100% (704/704), 129.99 KiB | 23 KiB/s, done.\nResolving deltas: 100% (369/369), done.\n\nwhereas I don't get those with my own. What could I be doing wrong?\n\nRegards,\nmto\n"},{"id":"231659","messageId":"20131206210035.17413ee7bcdf3ca0c9655d81@domain007.com","threadId":"35489","inReplyTo":"CAMAQ3n+OtBdYALh4pg6kywtbgPtQjHr6Xc-2ff63df-h=TLwbA@mail.gmail.com","subject":"Re: Git reports","fromName":"Konstantin Khomoutov","fromEmail":"flatworm@users.sourceforge.net","sentAt":"2013-12-06T17:00:35Z","receivedAt":"2013-12-06T17:00:35Z","isPatch":false,"sender":{"key":"flatworm@users.sourceforge.net","avatar":null},"body":"On Fri, 6 Dec 2013 18:51:47 +0200\nMuzaffer Tolga Ozses <tolga@ozses.net> wrote:\n\n> On another git server, I get reports like\n> Cloning into 'tcmb'...\n> remote: Counting objects: 704, done.\n> remote: Compressing objects: 100% (574/574), done.\n> remote: Total 704 (delta 369), reused 107 (delta 60)\n> Receiving objects: 100% (704/704), 129.99 KiB | 23 KiB/s, done.\n> Resolving deltas: 100% (369/369), done.\n> \n> whereas I don't get those with my own. What could I be doing wrong?\n\nThe documentation on `git push` states:\n\n  --progress\n\n    Progress status is reported on the standard error stream by default\n  when it is attached to a terminal, unless -q is specified. This flag\n  forces progress status even if the standard error stream is not\n  directed to a terminal.\n\nSo it might turn out on your own server Git for some reason fails to\nfigure out its standard error stream is connected to a terminal.\nOr, the error stream of your shell process is redirected somewhere (and\nhence inherited by Git).\nOr you pass the \"-q\" command-line option to `git clone`.\n"},{"id":"231660","messageId":"20131206210958.59f553060e3802d56f4a53b8@domain007.com","threadId":"35489","inReplyTo":"20131206210035.17413ee7bcdf3ca0c9655d81@domain007.com","subject":"Re: Git reports","fromName":"Konstantin Khomoutov","fromEmail":"flatworm@users.sourceforge.net","sentAt":"2013-12-06T17:09:58Z","receivedAt":"2013-12-06T17:09:58Z","isPatch":false,"sender":{"key":"flatworm@users.sourceforge.net","avatar":null},"body":"On Fri, 6 Dec 2013 21:00:35 +0400\nKonstantin Khomoutov <flatworm@users.sourceforge.net> wrote:\n\n[...]\n> > Resolving deltas: 100% (369/369), done.\n> > \n> > whereas I don't get those with my own. What could I be doing wrong?\n> \n> The documentation on `git push` states:\n> \n>   --progress\n> \n>     Progress status is reported on the standard error stream by\n> default when it is attached to a terminal, unless -q is specified.\n> This flag forces progress status even if the standard error stream is\n> not directed to a terminal.\n> \n> So it might turn out on your own server Git for some reason fails to\n> figure out its standard error stream is connected to a terminal.\n> Or, the error stream of your shell process is redirected somewhere\n> (and hence inherited by Git).\n\nTo underline the fact this is not all too unlikely, you're able to\ncompletely silence error reports in your shell prompt by executing\n\n  exec 2>/dev/null\n\n(you can regain it back by doing `exec 2>&1`).\n\nSo you might face a misbehaving shell logon script for instance.\n\nAs to whether Git senses the TTY -- what does running\n\n  stty\n\ntells you?  Does it fail with something like \"inappropriate ioctl for\ndevice\" or prints a couple of settings?\n"},{"id":"231662","messageId":"CAMAQ3nKVjF-5oW2pZZaD9MSz9wqoXJBQDoGcdy5mb=gxCguuSA@mail.gmail.com","threadId":"35489","inReplyTo":"20131206210958.59f553060e3802d56f4a53b8@domain007.com","subject":"Re: Git reports","fromName":"Muzaffer Tolga Ozses","fromEmail":"tolga@ozses.net","sentAt":"2013-12-06T17:44:21Z","receivedAt":"2013-12-06T17:44:21Z","isPatch":false,"sender":{"key":"tolga@ozses.net","avatar":null},"body":"stty tells me\nspeed 38400 baud; line = 0;\neol = M-^?; eol2 = M-^?; swtch = M-^?;\nixany iutf8\n\nAnd I run identical commands on both servers, only URL changes.\n\nOn 6 December 2013 19:09, Konstantin Khomoutov\n<flatworm@users.sourceforge.net> wrote:\n> On Fri, 6 Dec 2013 21:00:35 +0400\n> Konstantin Khomoutov <flatworm@users.sourceforge.net> wrote:\n>\n> [...]\n>> > Resolving deltas: 100% (369/369), done.\n>> >\n>> > whereas I don't get those with my own. What could I be doing wrong?\n>>\n>> The documentation on `git push` states:\n>>\n>>   --progress\n>>\n>>     Progress status is reported on the standard error stream by\n>> default when it is attached to a terminal, unless -q is specified.\n>> This flag forces progress status even if the standard error stream is\n>> not directed to a terminal.\n>>\n>> So it might turn out on your own server Git for some reason fails to\n>> figure out its standard error stream is connected to a terminal.\n>> Or, the error stream of your shell process is redirected somewhere\n>> (and hence inherited by Git).\n>\n> To underline the fact this is not all too unlikely, you're able to\n> completely silence error reports in your shell prompt by executing\n>\n>   exec 2>/dev/null\n>\n> (you can regain it back by doing `exec 2>&1`).\n>\n> So you might face a misbehaving shell logon script for instance.\n>\n> As to whether Git senses the TTY -- what does running\n>\n>   stty\n>\n> tells you?  Does it fail with something like \"inappropriate ioctl for\n> device\" or prints a couple of settings?\n"},{"id":"231663","messageId":"20131206175057.GA23716@sigill.intra.peff.net","threadId":"35489","inReplyTo":"CAMAQ3nKVjF-5oW2pZZaD9MSz9wqoXJBQDoGcdy5mb=gxCguuSA@mail.gmail.com","subject":"Re: Git reports","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2013-12-06T17:50:57Z","receivedAt":"2013-12-06T17:50:57Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Dec 06, 2013 at 07:44:21PM +0200, Muzaffer Tolga Ozses wrote:\n\n> stty tells me\n> speed 38400 baud; line = 0;\n> eol = M-^?; eol2 = M-^?; swtch = M-^?;\n> ixany iutf8\n> \n> And I run identical commands on both servers, only URL changes.\n\nWhat protocol/transport are you using (http, ssh, git)?\n\nCan you try running with:\n\n  GIT_TRACE_PACKET=$PWD/trace.out git clone ...\n\nYou should be able to see whether the client tells the server to\nsuppress progress output (look for the first \"want\" line in the output,\nwhich may or may not contain the flag \"no-progress\"). That will let us\nfigure out whether it is the client who is unexpectedly asking to turn\noff progress, or whether the server is failing to produce progress.\n\n-Peff\n"},{"id":"231664","messageId":"20131206215334.1a9031a1450d9c436943ce3d@domain007.com","threadId":"35489","inReplyTo":"CAMAQ3nKVjF-5oW2pZZaD9MSz9wqoXJBQDoGcdy5mb=gxCguuSA@mail.gmail.com","subject":"Re: Git reports","fromName":"Konstantin Khomoutov","fromEmail":"flatworm@users.sourceforge.net","sentAt":"2013-12-06T17:53:34Z","receivedAt":"2013-12-06T17:53:34Z","isPatch":false,"sender":{"key":"flatworm@users.sourceforge.net","avatar":null},"body":"On Fri, 6 Dec 2013 19:44:21 +0200\nMuzaffer Tolga Ozses <tolga@ozses.net> wrote:\n\n[...]\n> >> > Resolving deltas: 100% (369/369), done.\n> >> >\n> >> > whereas I don't get those with my own. What could I be doing\n> >> > wrong?\n[...]\n> >> So it might turn out on your own server Git for some reason fails\n> >> to figure out its standard error stream is connected to a terminal.\n> >> Or, the error stream of your shell process is redirected somewhere\n> >> (and hence inherited by Git).\n[...]\n> > So you might face a misbehaving shell logon script for instance.\n> >\n> > As to whether Git senses the TTY -- what does running\n> >\n> >   stty\n> >\n> > tells you?  Does it fail with something like \"inappropriate ioctl\n> > for device\" or prints a couple of settings?\n> stty tells me\n> speed 38400 baud; line = 0;\n> eol = M-^?; eol2 = M-^?; swtch = M-^?;\n> ixany iutf8\n> \n> And I run identical commands on both servers, only URL changes.\n\nOK, so we could supposedly rule out the possibility Git does not sense\nit's connected to a terminal.\n\nSo let's do the next test: does\n\n    echo test >&2\n\nprint \"test\" on the box where Git does not report progress?\n\nAnother one: does Git report progress if you explicitly pass --progress\nto it?\n\nDoes it work if you do\n\n    git clone $URL 2>&1\n\n?\n\nWhat Git and OS versions are on both machines?\n"},{"id":"231668","messageId":"CAMAQ3nLgnpDo1jWFL1rqtEvmQm8LeEpZ41Uxo0GTQOk8ttpSZA@mail.gmail.com","threadId":"35489","inReplyTo":"20131206215334.1a9031a1450d9c436943ce3d@domain007.com","subject":"Re: Git reports","fromName":"Muzaffer Tolga Ozses","fromEmail":"tolga@ozses.net","sentAt":"2013-12-06T19:19:43Z","receivedAt":"2013-12-06T19:19:43Z","isPatch":false,"sender":{"key":"tolga@ozses.net","avatar":null},"body":"Hi,\n\n> What protocol/transport are you using (http, ssh, git)?\nI am cloning over http\n\n> Can you try running with:\n\n GIT_TRACE_PACKET=$PWD/trace.out git clone ...\nGIT_TRACE_PACKET=$PWD/trace.out git clone\nhttp://git.webciniz.im/project/night_pharmacy.git\nCloning into 'night_pharmacy'...\nChecking connectivity... done\n\nThat's all I get. No trace.out was written.\n\n> So let's do the next test: does\n\n    echo test >&2\n\nprint \"test\" on the box where Git does not report progress?\n\nYes it does.\n\n> Another one: does Git report progress if you explicitly pass --progress\nto it?\n\ngit clone --progress http://git.webciniz.im/project/night_pharmacy.git\nCloning into 'night_pharmacy'...\nChecking connectivity... done\n\nThat's all I get\n\n> Does it work if you do\n\n    git clone $URL 2>&1\n\ngit clone http://git.webciniz.im/project/night_pharmacy.git 2>&1\nCloning into 'night_pharmacy'...\nChecking connectivity... done\n\nThat's all I get.\n\nRegards\nmto\n\nOn 6 December 2013 19:53, Konstantin Khomoutov\n<flatworm@users.sourceforge.net> wrote:\n> On Fri, 6 Dec 2013 19:44:21 +0200\n> Muzaffer Tolga Ozses <tolga@ozses.net> wrote:\n>\n> [...]\n>> >> > Resolving deltas: 100% (369/369), done.\n>> >> >\n>> >> > whereas I don't get those with my own. What could I be doing\n>> >> > wrong?\n> [...]\n>> >> So it might turn out on your own server Git for some reason fails\n>> >> to figure out its standard error stream is connected to a terminal.\n>> >> Or, the error stream of your shell process is redirected somewhere\n>> >> (and hence inherited by Git).\n> [...]\n>> > So you might face a misbehaving shell logon script for instance.\n>> >\n>> > As to whether Git senses the TTY -- what does running\n>> >\n>> >   stty\n>> >\n>> > tells you?  Does it fail with something like \"inappropriate ioctl\n>> > for device\" or prints a couple of settings?\n>> stty tells me\n>> speed 38400 baud; line = 0;\n>> eol = M-^?; eol2 = M-^?; swtch = M-^?;\n>> ixany iutf8\n>>\n>> And I run identical commands on both servers, only URL changes.\n>\n> OK, so we could supposedly rule out the possibility Git does not sense\n> it's connected to a terminal.\n>\n> So let's do the next test: does\n>\n>     echo test >&2\n>\n> print \"test\" on the box where Git does not report progress?\n>\n> Another one: does Git report progress if you explicitly pass --progress\n> to it?\n>\n> Does it work if you do\n>\n>     git clone $URL 2>&1\n>\n> ?\n>\n> What Git and OS versions are on both machines?\n"},{"id":"231669","messageId":"CAMAQ3nL0xRQRqsUK+TuZqS5_LOpCtyi1xLRbZAw7zrEBU_0+sQ@mail.gmail.com","threadId":"35489","inReplyTo":"CAMAQ3nLgnpDo1jWFL1rqtEvmQm8LeEpZ41Uxo0GTQOk8ttpSZA@mail.gmail.com","subject":"Re: Git reports","fromName":"Muzaffer Tolga Ozses","fromEmail":"tolga@ozses.net","sentAt":"2013-12-06T19:24:09Z","receivedAt":"2013-12-06T19:24:09Z","isPatch":false,"sender":{"key":"tolga@ozses.net","avatar":null},"body":"Sorry, my git server is on CentOS and git 1.8.4.2 and my machine on\nwhich I clone is Ubuntu, 1.8.3.2\n\nOn 6 December 2013 21:19, Muzaffer Tolga Ozses <tolga@ozses.net> wrote:\n> Hi,\n>\n>> What protocol/transport are you using (http, ssh, git)?\n> I am cloning over http\n>\n>> Can you try running with:\n>\n>  GIT_TRACE_PACKET=$PWD/trace.out git clone ...\n> GIT_TRACE_PACKET=$PWD/trace.out git clone\n> http://git.webciniz.im/project/night_pharmacy.git\n> Cloning into 'night_pharmacy'...\n> Checking connectivity... done\n>\n> That's all I get. No trace.out was written.\n>\n>> So let's do the next test: does\n>\n>     echo test >&2\n>\n> print \"test\" on the box where Git does not report progress?\n>\n> Yes it does.\n>\n>> Another one: does Git report progress if you explicitly pass --progress\n> to it?\n>\n> git clone --progress http://git.webciniz.im/project/night_pharmacy.git\n> Cloning into 'night_pharmacy'...\n> Checking connectivity... done\n>\n> That's all I get\n>\n>> Does it work if you do\n>\n>     git clone $URL 2>&1\n>\n> git clone http://git.webciniz.im/project/night_pharmacy.git 2>&1\n> Cloning into 'night_pharmacy'...\n> Checking connectivity... done\n>\n> That's all I get.\n>\n> Regards\n> mto\n>\n> On 6 December 2013 19:53, Konstantin Khomoutov\n> <flatworm@users.sourceforge.net> wrote:\n>> On Fri, 6 Dec 2013 19:44:21 +0200\n>> Muzaffer Tolga Ozses <tolga@ozses.net> wrote:\n>>\n>> [...]\n>>> >> > Resolving deltas: 100% (369/369), done.\n>>> >> >\n>>> >> > whereas I don't get those with my own. What could I be doing\n>>> >> > wrong?\n>> [...]\n>>> >> So it might turn out on your own server Git for some reason fails\n>>> >> to figure out its standard error stream is connected to a terminal.\n>>> >> Or, the error stream of your shell process is redirected somewhere\n>>> >> (and hence inherited by Git).\n>> [...]\n>>> > So you might face a misbehaving shell logon script for instance.\n>>> >\n>>> > As to whether Git senses the TTY -- what does running\n>>> >\n>>> >   stty\n>>> >\n>>> > tells you?  Does it fail with something like \"inappropriate ioctl\n>>> > for device\" or prints a couple of settings?\n>>> stty tells me\n>>> speed 38400 baud; line = 0;\n>>> eol = M-^?; eol2 = M-^?; swtch = M-^?;\n>>> ixany iutf8\n>>>\n>>> And I run identical commands on both servers, only URL changes.\n>>\n>> OK, so we could supposedly rule out the possibility Git does not sense\n>> it's connected to a terminal.\n>>\n>> So let's do the next test: does\n>>\n>>     echo test >&2\n>>\n>> print \"test\" on the box where Git does not report progress?\n>>\n>> Another one: does Git report progress if you explicitly pass --progress\n>> to it?\n>>\n>> Does it work if you do\n>>\n>>     git clone $URL 2>&1\n>>\n>> ?\n>>\n>> What Git and OS versions are on both machines?\n"},{"id":"231670","messageId":"20131206192651.GK29959@google.com","threadId":"35489","inReplyTo":"CAMAQ3nLgnpDo1jWFL1rqtEvmQm8LeEpZ41Uxo0GTQOk8ttpSZA@mail.gmail.com","subject":"Re: Git reports","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2013-12-06T19:26:51Z","receivedAt":"2013-12-06T19:26:51Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Muzaffer Tolga Ozses wrote:\n\n> I am cloning over http\n\nI am guessing you are using the \"dumb\" (plain static file transfer)\nHTTP protocol.  With that protocol the server doesn't do anything\nother than shuttle out files, so it doesn't need to do its own\nprogress reporting.\n\nPerhaps the client should do some progress reporting based on file\nsizes and amount downloaded so far, but it's hard to get excited\nabout given the existence of \"smart\" (transfer only what is needed)\nHTTP protocol.  See git-http-backend(1) for details.\n\nPerhaps we can document this better?  (If so, where would it have been\nuseful to learn about this, and do you have ideas for how it could be\nworded?  I'm thinking it might make sense to put a note on this in a\nnew giturls(7) page with content that used to be in the git-clone(1)\n'GIT URLS' section.)  Or if someone wants to work on a progress\ndisplay, that would be nice, too. ;-)\n\nThanks and hope that helps,\nJonathan\n"},{"id":"231672","messageId":"xmqqwqjh1ztj.fsf@gitster.dls.corp.google.com","threadId":"35489","inReplyTo":"20131206192651.GK29959@google.com","subject":"Re: Git reports","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-12-06T20:36:56Z","receivedAt":"2013-12-06T20:36:56Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> Muzaffer Tolga Ozses wrote:\n>\n>> I am cloning over http\n>\n> I am guessing you are using the \"dumb\" (plain static file transfer)\n> HTTP protocol.  With that protocol the server doesn't do anything\n> other than shuttle out files, so it doesn't need to do its own\n> progress reporting.\n>\n> Perhaps the client should do some progress reporting based on file\n> sizes and amount downloaded so far, but it's hard to get excited\n> about given the existence of \"smart\" (transfer only what is needed)\n> HTTP protocol.  See git-http-backend(1) for details.\n>\n> Perhaps we can document this better?  (If so, where would it have been\n> useful to learn about this, and do you have ideas for how it could be\n> worded?  I'm thinking it might make sense to put a note on this in a\n> new giturls(7) page with content that used to be in the git-clone(1)\n> 'GIT URLS' section.)  Or if someone wants to work on a progress\n> display, that would be nice, too. ;-)\n\nI wouldn't be worried too much about progress display, but I would\nthink it might be a good idea to teach the http client side, perhaps\nwith a -v option, to report which variant of the protocol is in use,\nprimarily to warn those who have a server that is capable of running\nthe smart protocol but forgot to set it up, or unaware that smart is\ngenerally a better option for them.\n"},{"id":"231684","messageId":"20131206222201.GF25620@sigill.intra.peff.net","threadId":"35489","inReplyTo":"20131206192651.GK29959@google.com","subject":"Re: Git reports","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2013-12-06T22:22:01Z","receivedAt":"2013-12-06T22:22:01Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Dec 06, 2013 at 11:26:51AM -0800, Jonathan Nieder wrote:\n\n> > I am cloning over http\n> \n> I am guessing you are using the \"dumb\" (plain static file transfer)\n> HTTP protocol.  With that protocol the server doesn't do anything\n> other than shuttle out files, so it doesn't need to do its own\n> progress reporting.\n\nYeah, that would also explain why GIT_TRACE_PACKET produced no output.\n\n> Perhaps the client should do some progress reporting based on file\n> sizes and amount downloaded so far, but it's hard to get excited\n> about given the existence of \"smart\" (transfer only what is needed)\n> HTTP protocol.  See git-http-backend(1) for details.\n\nYou get some very verbose and nasty progress with \"-vv\". It would be\nnice to have a regular throughput meter for dumb-http, though. I haven't\nbothered adding one so far because I don't expect many people are using\nhttp. However, if we start supporting fetching via bundles over http,\nthen it will be very nice to have some kind of progress display there\n(since the main use is to get gigantic full clones).\n\n-Peff\n"},{"id":"231738","messageId":"CAMAQ3nK3CMvhh2=wYqCedd_9fS9k9yGWdmN8NzRfQft585zigQ@mail.gmail.com","threadId":"35489","inReplyTo":"20131206222201.GF25620@sigill.intra.peff.net","subject":"Re: Git reports","fromName":"Muzaffer Tolga Ozses","fromEmail":"tolga@ozses.net","sentAt":"2013-12-07T19:46:16Z","receivedAt":"2013-12-07T19:46:16Z","isPatch":false,"sender":{"key":"tolga@ozses.net","avatar":null},"body":"I looked at man git-http-backend, and I didn't understand a thing.\nI'll look at it tomorrow again with a clear head.\n\nOn 7 December 2013 00:22, Jeff King <peff@peff.net> wrote:\n> On Fri, Dec 06, 2013 at 11:26:51AM -0800, Jonathan Nieder wrote:\n>\n>> > I am cloning over http\n>>\n>> I am guessing you are using the \"dumb\" (plain static file transfer)\n>> HTTP protocol.  With that protocol the server doesn't do anything\n>> other than shuttle out files, so it doesn't need to do its own\n>> progress reporting.\n>\n> Yeah, that would also explain why GIT_TRACE_PACKET produced no output.\n>\n>> Perhaps the client should do some progress reporting based on file\n>> sizes and amount downloaded so far, but it's hard to get excited\n>> about given the existence of \"smart\" (transfer only what is needed)\n>> HTTP protocol.  See git-http-backend(1) for details.\n>\n> You get some very verbose and nasty progress with \"-vv\". It would be\n> nice to have a regular throughput meter for dumb-http, though. I haven't\n> bothered adding one so far because I don't expect many people are using\n> http. However, if we start supporting fetching via bundles over http,\n> then it will be very nice to have some kind of progress display there\n> (since the main use is to get gigantic full clones).\n>\n> -Peff\n"}]}