Message ID | 20191025025129.250049-1-emilyshaffer@google.com (mailing list archive) |
---|---|
Headers | show |
Series | add git-bugreport tool | expand |
Emily Shaffer <emilyshaffer@google.com> writes: > Thanks for the patience with the long wait, all. Here's an attempt at > the rewrite in C; I think it does verbatim what the sh version did > except that this doesn't print the reflog - Jonathan Nieder was good > enough to point out to me that folks probably don't want to share their > commit subjects all willy-nilly if they're working on something > secretive. Is the goal to give a tool the end users can type "git bugreport<RET>" and automatically send the result to this mailing list (or some bug tracker)? Or is this only about producing a pre-filled bug report template to be slurped into their MUA and then further manually edited before sending it out? It probably is controversial if we exposed contents of hooks scripts (I can imagine some people may trigger external process by pinging a URL that includes credential material out of laziness), so the presence test you have is probably a good stopping point. I do not know how much it helps to know which hooks exist in order to diagnose an anomaly without knowing what their contents are, but it is a start. By the way, I doubt that it is the best use of developer time to write these in C---taking various pieces of information from different places to prepare a text file sounds more suited to scripting languages, especially while we are still learning what kind of information we want to collect and how we want to present the final result (iow, for the first handful of years after deploying this command). Thanks.
Hi Junio, On Tue, 29 Oct 2019, Junio C Hamano wrote: > Emily Shaffer <emilyshaffer@google.com> writes: > > > Thanks for the patience with the long wait, all. Here's an attempt at > > the rewrite in C; I think it does verbatim what the sh version did > > except that this doesn't print the reflog - Jonathan Nieder was good > > enough to point out to me that folks probably don't want to share their > > commit subjects all willy-nilly if they're working on something > > secretive. > > Is the goal to give a tool the end users can type "git > bugreport<RET>" and automatically send the result to this mailing > list (or some bug tracker)? Or is this only about producing a > pre-filled bug report template to be slurped into their MUA and then > further manually edited before sending it out? > > It probably is controversial if we exposed contents of hooks scripts > (I can imagine some people may trigger external process by pinging a > URL that includes credential material out of laziness), so the > presence test you have is probably a good stopping point. I do not > know how much it helps to know which hooks exist in order to > diagnose an anomaly without knowing what their contents are, but it > is a start. > > By the way, I doubt that it is the best use of developer time to > write these in C---taking various pieces of information from > different places to prepare a text file sounds more suited to > scripting languages, especially while we are still learning what > kind of information we want to collect and how we want to present > the final result (iow, for the first handful of years after > deploying this command). If you want to limit Git to Linux, then relying on a specific scripting language like Unix shell scripting sounds okay. If you target more platforms, then a range of scripting languages sounds a lot more sensible, my top choice would be node.js. I understand that that is not an option here, and there is a strong preference for Unix shell scripting in Git. This is a bit unfortunate: A good chunk of the bug reports I see in Git for Windows are _about_ problems with Unix shell scripting. There are fork problems, problems where `add_item` failed (which is one of the least helpful error messages I saw in my entire life), there are problems with anti-malware causing segmentation faults in the Unix shell script interpreter (the MSYS2 Bash), and there are even (believe it or not) problems with _display drivers_. Yes, that is right, display drivers can interfere with Unix shell script execution on Windows. (This is really rare, but hey, bug reports are rare in Git for Windows to begin with...) All of these problems _prevent_ Unix shell scripts from being interpreted as expected on Windows. Which would ridicule the idea of reporting any of these bugs using a tool that is implemented in Unix shell. And what is worse than a bug in an application? A bug in the application's very own bug reporting tool. I pointed this out to Emily, and that is the reason why this amount of work was put in to _improve_ the tool, precisely by _not_ implementing it as a Unix shell script, but instead in plain C (which is a _lot_ more robust). Ciao, Dscho