On Sat, Jun 9, 2018 at 8:32 AM Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote: > Let's say you're in a corporate environment with Linux, OSX and Windows > boxes, but all of whom have some shared mounts provisioned & ability to > ship an /etc/gitconfig (wherever that lives on Windows). > > It's much easier to just do that than figure out how to build a custom > Git on all three platforms. Let's say I don't care about making it easier on corporate environment. You have resources to do that. > > Not making it a compile-time option could force [1] linux distro > > to carry this function to everybody even if they don't use it (and > > it's kinda dangerous to misuse if you don't anonymize the data > > properly). I also prefer this a compile time option. > > Setting GIT_TRACE to a filename that you published is also similarly > dangerous, so would setting up a trivial 4-line shell alias to wrap > "git" and log what it's doing. > > > [1] Of course many distros can choose to patch it out. But it's the > > same argument as bringing this option in in the first place: you guys > > already have that code in private and now want to put it in stock git > > to reduce maintenance cost, why add extra cost on linux distro > > maintenance? > > Because: > > 1) I really don't see the basis for this argument that they'd need to > patch it out, they're not patching out e.g. GIT_TRACE now, which has > all the same sort of concerns, it's just a format that's more of a > hassle to parse than this proposed format. > > 2) I think you and Johannes are just seeing the "telemetry" part of > this, but if you look past that all this *really* is is "GIT_TRACE > facility that doesn't suck to parse". If it's simply an improvement over GIT_TRACE, then I have no problem with that. That is: - there is no new, permanent way to turn this one like config keys - there's no plugin support or whatever for keeping output. Keep it to either a file or a file descriptor like we do with GIT_TRACE. > There's a lot of use-cases for that which have nothing to do with > what this facility is originally written for, for example, a novice > git user could turn it on and have it log in ~ somewhere, and then > run some contrib script which analyzes his git usage and spews out > suggestions ("you use this command/option, but not this related > useful command/option"). > > Users asking for help on the #git IRC channel or on this mailing list > could turn this on if they have a problem, and paste it into some > tool they could show to others to see exactly what they're doing / > where it went wrong. And they can use GIT_TRACE now. If GIT_TRACE does not give enough info (e.g. too few trace points), add them. This new proposal is more about automation. With GIT_TRACE, which is more human friendly, I could skim over the output and remove sensitive info before I send it out for help. Machine-friendly format (even json) tends to be a lot more complex and harder to read/filter this way. -- Duy