Re: Contributor Summit planning
- Date: Mon, 05 Mar 2018 23:13:44 +0100
- From: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
- Subject: Re: Contributor Summit planning
On Mon, Mar 05 2018, Jonathan Nieder jotted:
> Lars Schneider wrote:
>> - error reporting: Git is distributed and therefore lots of errors are only
>> reported locally. That makes it hard for administrators in larger
>> companies to see trouble. Would it make sense to add a config option that
>> would push recent errors along with "git push" to the server?
> I'm interested in instrumentation but worried about the privacy
> ramifications of this particular proposal. I'd be happy to see some
> built-in instrumentation hooks (or even a standard instrumentation
> approach, if the mailing list comes up with a good one that respects
I have this use-case as well, and figured a good approach would be:q
1. Add corresponding config variables for GIT_TRACE_* so you could
config them in /etc/gitconfig (or elsewhere). Similar to
e.g. user.name & GIT_AUTHOR_NAME
2. Add some new trace like e.g. GIT_TRACE_COMMANDS, make it take a
format string in GIT_TRACE_COMMANDS_FORMAT (or usually via
config). Thus setting GIT_TRACE_COMMANDS to a file would e.g. spew
your current repo path, subcommand, or even the absolute command
line to the file.
3. Have some cronjob or other monitoring thingy pick up the file &
submit to central logging.
Of course you could overdo the format specifiers in #2 and e.g. send the
full commands along, but it seems to me that it would be sufficient for
privacy concerns to document that caveat with some examples.
After all, for this use-case we're talking about us somehow guarding
against a sysadmin who can just install a /etc/profile.d/git_wrapper
anyway that'll log everything you do with git, or even provide a custom
git binary, so it's always going to be left to their best judgement.