From: Emily Shaffer <emilyshaffer@google.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v7 03/15] bugreport: add tool to generate debugging info
Date: Tue, 18 Feb 2020 15:46:28 -0800 [thread overview]
Message-ID: <20200218234628.GA1461@google.com> (raw)
In-Reply-To: <xmqq1rqvogif.fsf@gitster-ct.c.googlers.com>
On Sat, Feb 15, 2020 at 10:24:40AM -0800, Junio C Hamano wrote:
> Emily Shaffer <emilyshaffer@google.com> writes:
>
> > On Fri, Feb 14, 2020 at 09:25:12AM -0800, Junio C Hamano wrote:
> >> Emily Shaffer <emilyshaffer@google.com> writes:
> >>
> >> > + switch (safe_create_leading_directories(report_path.buf)) {
> >>
> >> This helper is about creating paths in the working tree and Git
> >> repository,
> >
> > It's also used by cmd_format_patch() with --output-directory specified,
> > which is how I found it.
>
> And that is an example of a good use of this helper. What will be
> written out there should be visible by the same people as those who
> have access to the repository; get_shared_repo() and adjust_perm()
> based on what the repository you are taking patches from is
> perfectly sensible. And as it is format-patch, we know we have
> get_shared_repo() working, and we know which repository we are
> working on.
>
> Output directory for bugreport is on the same boat when we know the
> users are producing a report on their use of Git within a
> repository. It is not clear if the tool is started without any
> repository---it happens to do a random safe thing (i.e. I think
> get_shared_repo() gives PERM_UMASK, which tells adjust_perm() not to
> do anything especial) right now, but there is no guarantee that we
> will keep it working like that. Somebody may come and demaind
> get_shared_perm() to die() when outside a repository, for example,
> and that would break the nice property that lets bugreport working
> outside a repository.
Hm, this would break the convention of the name of
safe_create_leading_directories() too though right? As I understood it,
"safe_foo" in this codebase means "this function will not die()"?
>
> I just wanted to make sure that somebody will be keeping an eye to
> remind those who propose such a change in the future. A comment
> near where get_shared_repo() happens may be something that can be
> done with a minimum effort when code that depends on that property
> is introduced at the same time.
Ok. I want to make sure I understand you right. I think you're saying,
"This is OK, except if someone changes get_shared_repo() it could break,
so we need a way to warn someone that it could break." It sounds like
you suggested leaving a comment in the
safe_create_leading_directories() helper. My own preference is to write
a test so that it's explicit that we depend on that behavior, instead -
it's easy to gloss over a comment or read a different part of the
codebase, but it's hard to ignore a breaking test. It'd be trivial to
add one, so I will in v8 - unless I misunderstood you.
>
> >> I thought I read somewhere that this tool is meant to be usable
> >> outside a repository? If that is not the case, then the use of this
> >> helper is OK. If not, we may want to make sure that it will stay to
> >> be safe to use the helper (I think it happens to be OK right now,
>
> I am actually OK if we limit the use of this tool to "use with a
> repository that is not corrupt", as coping with these kinds of
> breakages that in the main Git executable we deem "needs manual
> intervention" inside a single process is too painful (it would have
> been easier to cope with these too if we stuck with a script that
> invokes many discrete commands and acts on their errors, but that is
> optimizing for rare case and not recommended). But we should tell
> users about the limitation and encourage them to ask for help in non
> automatable means.
I think you're saying, "Mention this drawback in the manpage for
git-bugreport." Sounds like a good idea to me, so I'll add it for v8.
- Emily
next prev parent reply other threads:[~2020-02-18 23:46 UTC|newest]
Thread overview: 273+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-13 0:42 [PATCH v4 00/15] add git-bugreport tool Emily Shaffer
2019-12-13 0:42 ` [PATCH v4 01/15] bugreport: add tool to generate debugging info Emily Shaffer
2019-12-13 0:42 ` [PATCH v4 02/15] help: move list_config_help to builtin/help Emily Shaffer
2019-12-13 20:51 ` Junio C Hamano
2019-12-16 21:36 ` Emily Shaffer
2019-12-16 22:19 ` Junio C Hamano
2019-12-16 22:34 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 03/15] bugreport: gather git version and build info Emily Shaffer
2019-12-13 21:06 ` Junio C Hamano
2019-12-20 1:46 ` Emily Shaffer
2019-12-17 18:45 ` Johannes Schindelin
2019-12-17 20:34 ` Junio C Hamano
2019-12-20 1:25 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 04/15] help: add shell-path to --build-options Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 05/15] bugreport: add uname info Emily Shaffer
2019-12-13 21:12 ` Junio C Hamano
2020-01-10 2:05 ` Aaron Schrab
2019-12-13 0:43 ` [PATCH v4 06/15] bugreport: add glibc version Emily Shaffer
2019-12-13 21:18 ` Junio C Hamano
2019-12-16 22:39 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 07/15] bugreport: add curl version Emily Shaffer
2019-12-13 21:27 ` Junio C Hamano
2019-12-16 22:49 ` Emily Shaffer
2019-12-17 18:47 ` Johannes Schindelin
2019-12-13 0:43 ` [PATCH v4 08/15] bugreport: include user interactive shell Emily Shaffer
2019-12-13 21:38 ` Junio C Hamano
2019-12-13 0:43 ` [PATCH v4 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2019-12-13 22:57 ` Junio C Hamano
2019-12-16 23:01 ` Emily Shaffer
2019-12-17 0:41 ` Emily Shaffer
2019-12-15 20:17 ` Johannes Schindelin
2019-12-16 22:52 ` Emily Shaffer
2019-12-17 18:38 ` Johannes Schindelin
2019-12-13 0:43 ` [PATCH v4 10/15] bugreport: add config values from safelist Emily Shaffer
2019-12-13 21:45 ` Junio C Hamano
2019-12-16 23:40 ` Emily Shaffer
2019-12-17 17:43 ` Junio C Hamano
2020-01-24 3:29 ` Emily Shaffer
2019-12-29 20:17 ` Johannes Schindelin
2019-12-13 0:43 ` [PATCH v4 11/15] bugreport: collect list of populated hooks Emily Shaffer
2019-12-13 21:47 ` Junio C Hamano
2019-12-16 23:51 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 12/15] bugreport: count loose objects Emily Shaffer
2019-12-13 21:51 ` Junio C Hamano
2019-12-16 23:54 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 13/15] bugreport: add packed object summary Emily Shaffer
2019-12-13 21:56 ` Junio C Hamano
2019-12-16 23:56 ` Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2019-12-13 0:43 ` [PATCH v4 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 00/15] add git-bugreport tool emilyshaffer
2020-01-24 3:34 ` [PATCH v5 01/15] bugreport: add tool to generate debugging info emilyshaffer
2020-01-30 22:18 ` Martin Ågren
2020-02-04 22:00 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 02/15] help: move list_config_help to builtin/help emilyshaffer
2020-01-30 22:19 ` Martin Ågren
2020-02-04 0:53 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 03/15] bugreport: gather git version and build info emilyshaffer
2020-01-30 22:19 ` Martin Ågren
2020-02-04 22:21 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 04/15] help: add shell-path to --build-options emilyshaffer
2020-01-30 22:21 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 05/15] bugreport: add uname info emilyshaffer
2020-01-24 3:34 ` [PATCH v5 06/15] bugreport: add compiler info emilyshaffer
2020-01-30 22:21 ` Martin Ågren
2020-02-04 22:51 ` Emily Shaffer
2020-02-05 19:47 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 07/15] bugreport: add curl version emilyshaffer
2020-01-30 22:27 ` Martin Ågren
2020-02-04 22:54 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 08/15] bugreport: include user interactive shell emilyshaffer
2020-01-30 22:28 ` Martin Ågren
2020-02-04 23:16 ` Emily Shaffer
2020-02-05 20:06 ` Junio C Hamano
2020-02-05 20:14 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 09/15] bugreport: generate config safelist based on docs emilyshaffer
2020-01-30 22:34 ` Martin Ågren
2020-02-05 0:44 ` Emily Shaffer
2020-02-05 19:53 ` Martin Ågren
2020-01-31 21:20 ` Martin Ågren
2020-02-05 0:30 ` Emily Shaffer
2020-02-05 0:52 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 10/15] bugreport: add config values from safelist emilyshaffer
2020-01-30 22:36 ` Martin Ågren
2020-02-05 1:34 ` Emily Shaffer
2020-01-31 21:25 ` Martin Ågren
2020-02-05 2:31 ` Emily Shaffer
2020-02-05 20:12 ` Martin Ågren
2020-01-24 3:34 ` [PATCH v5 11/15] bugreport: collect list of populated hooks emilyshaffer
2020-02-04 18:44 ` Junio C Hamano
2020-02-05 2:48 ` Emily Shaffer
2020-02-05 3:00 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 12/15] bugreport: count loose objects emilyshaffer
2020-02-04 18:48 ` Junio C Hamano
2020-02-05 2:50 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 13/15] bugreport: add packed object summary emilyshaffer
2020-02-04 19:00 ` Junio C Hamano
2020-02-05 3:15 ` Emily Shaffer
2020-02-04 19:03 ` Junio C Hamano
2020-02-05 3:09 ` Emily Shaffer
2020-01-24 3:34 ` [PATCH v5 14/15] bugreport: list contents of $OBJDIR/info emilyshaffer
2020-01-24 3:34 ` [PATCH v5 15/15] bugreport: summarize contents of alternates file emilyshaffer
2020-01-24 3:38 ` [PATCH v5 00/15] add git-bugreport tool Emily Shaffer
2020-01-28 23:04 ` Jonathan Tan
2020-01-28 23:26 ` Emily Shaffer
2020-01-30 22:15 ` Martin Ågren
2020-02-04 0:07 ` Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 " Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 01/15] help: move list_config_help to builtin/help Emily Shaffer
2020-02-06 1:35 ` Danh Doan
2020-02-13 22:58 ` Emily Shaffer
2020-02-13 23:07 ` Eric Sunshine
2020-02-13 23:24 ` Junio C Hamano
2020-02-13 23:29 ` Eric Sunshine
2020-02-14 1:20 ` Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 02/15] help: add shell-path to --build-options Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 03/15] bugreport: add tool to generate debugging info Emily Shaffer
2020-02-07 14:18 ` SZEDER Gábor
2020-02-07 18:51 ` Junio C Hamano
2020-02-11 22:40 ` Emily Shaffer
2020-02-07 14:54 ` SZEDER Gábor
2020-02-12 18:06 ` Junio C Hamano
2020-02-12 22:36 ` Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 04/15] bugreport: gather git version and build info Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 05/15] bugreport: add uname info Emily Shaffer
2020-02-06 0:40 ` [PATCH v6 06/15] bugreport: add compiler info Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 07/15] bugreport: add git-remote-https version Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 08/15] bugreport: include user interactive shell Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2020-02-07 15:30 ` SZEDER Gábor
2020-02-13 23:14 ` Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 10/15] bugreport: add config values from safelist Emily Shaffer
2020-02-07 14:47 ` SZEDER Gábor
2020-02-07 15:08 ` SZEDER Gábor
2020-02-07 16:24 ` Eric Sunshine
2020-02-07 16:51 ` Andreas Schwab
2020-02-13 22:02 ` Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 11/15] bugreport: collect list of populated hooks Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 12/15] bugreport: count loose objects Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 13/15] bugreport: add packed object summary Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2020-02-06 0:41 ` [PATCH v6 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 00/15] add git-bugreport tool Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 01/15] help: move list_config_help to builtin/help Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 02/15] help: add shell-path to --build-options Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 03/15] bugreport: add tool to generate debugging info Emily Shaffer
2020-02-14 17:25 ` Junio C Hamano
2020-02-15 1:57 ` Emily Shaffer
2020-02-15 18:24 ` Junio C Hamano
2020-02-18 23:46 ` Emily Shaffer [this message]
2020-02-18 23:56 ` Emily Shaffer
2020-02-19 23:15 ` Emily Shaffer
2020-02-19 23:24 ` Junio C Hamano
2020-02-19 14:18 ` Johannes Schindelin
2020-02-19 16:55 ` Junio C Hamano
2020-02-19 21:52 ` Emily Shaffer
2020-02-19 22:09 ` Junio C Hamano
2020-02-19 23:06 ` Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 04/15] bugreport: gather git version and build info Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 05/15] bugreport: add uname info Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 06/15] bugreport: add compiler info Emily Shaffer
2020-02-19 14:23 ` Johannes Schindelin
2020-02-19 22:45 ` Emily Shaffer
2020-02-20 22:33 ` Johannes Schindelin
2020-02-20 23:33 ` Emily Shaffer
2020-02-21 15:22 ` Johannes Schindelin
2020-02-22 0:04 ` Emily Shaffer
2020-02-24 2:55 ` Junio C Hamano
2020-02-14 1:53 ` [PATCH v7 07/15] bugreport: add git-remote-https version Emily Shaffer
2020-02-19 14:28 ` Johannes Schindelin
2020-02-19 22:28 ` Emily Shaffer
2020-02-19 22:33 ` Junio C Hamano
2020-02-20 22:33 ` Johannes Schindelin
2020-02-14 1:53 ` [PATCH v7 08/15] bugreport: include user interactive shell Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 10/15] bugreport: add config values from safelist Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 11/15] bugreport: collect list of populated hooks Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 12/15] bugreport: count loose objects Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 13/15] bugreport: add packed object summary Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2020-02-14 17:04 ` Junio C Hamano
2020-02-18 23:59 ` Emily Shaffer
2020-02-14 1:53 ` [PATCH v7 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-02-14 17:32 ` [PATCH v7 00/15] add git-bugreport tool Junio C Hamano
2020-02-14 22:00 ` Emily Shaffer
2020-02-14 22:30 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 " Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 01/15] help: move list_config_help to builtin/help Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 02/15] help: add shell-path to --build-options Emily Shaffer
2020-02-20 19:03 ` Junio C Hamano
2020-02-20 21:15 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 03/15] bugreport: add tool to generate debugging info Emily Shaffer
2020-02-20 19:33 ` Junio C Hamano
2020-02-20 22:33 ` Emily Shaffer
2020-02-26 16:12 ` Johannes Schindelin
2020-02-20 1:58 ` [PATCH v8 04/15] bugreport: gather git version and build info Emily Shaffer
2020-02-20 20:07 ` Junio C Hamano
2020-02-20 23:03 ` Emily Shaffer
2020-02-20 23:18 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 05/15] bugreport: add uname info Emily Shaffer
2020-02-20 20:12 ` Junio C Hamano
2020-02-20 23:20 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 06/15] bugreport: add compiler info Emily Shaffer
2020-02-20 2:49 ` Danh Doan
2020-02-20 23:23 ` Emily Shaffer
2020-02-20 20:23 ` Junio C Hamano
2020-02-21 0:26 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 07/15] bugreport: add git-remote-https version Emily Shaffer
2020-02-20 20:35 ` Junio C Hamano
2020-02-20 23:28 ` Emily Shaffer
2020-02-21 3:44 ` Junio C Hamano
2020-02-25 22:08 ` Emily Shaffer
2020-02-25 22:26 ` Junio C Hamano
2020-02-25 23:29 ` Emily Shaffer
2020-02-25 23:29 ` Junio C Hamano
2020-02-25 23:55 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 08/15] bugreport: include user interactive shell Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 09/15] bugreport: generate config safelist based on docs Emily Shaffer
2020-02-20 20:40 ` Junio C Hamano
2020-02-26 16:13 ` Johannes Schindelin
2020-02-26 16:49 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 10/15] bugreport: add config values from safelist Emily Shaffer
2020-02-20 20:47 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 11/15] bugreport: collect list of populated hooks Emily Shaffer
2020-02-20 20:58 ` Junio C Hamano
2020-02-25 23:19 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 12/15] bugreport: count loose objects Emily Shaffer
2020-02-20 21:04 ` Junio C Hamano
2020-02-25 23:22 ` Emily Shaffer
2020-02-25 23:26 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 13/15] bugreport: add packed object summary Emily Shaffer
2020-02-20 22:04 ` Junio C Hamano
2020-02-25 23:58 ` Emily Shaffer
2020-02-20 1:58 ` [PATCH v8 14/15] bugreport: list contents of $OBJDIR/info Emily Shaffer
2020-02-20 22:18 ` Junio C Hamano
2020-02-20 1:58 ` [PATCH v8 15/15] bugreport: summarize contents of alternates file Emily Shaffer
2020-02-20 14:08 ` Johannes Schindelin
2020-02-20 22:22 ` Junio C Hamano
2020-03-02 23:03 ` [PATCH v9 0/5] add git-bugreport tool Emily Shaffer
2020-03-02 23:03 ` [PATCH v9 1/5] help: move list_config_help to builtin/help Emily Shaffer
2020-03-02 23:03 ` [PATCH v9 2/5] bugreport: add tool to generate debugging info Emily Shaffer
2020-03-03 14:18 ` Johannes Schindelin
2020-03-04 21:35 ` Johannes Schindelin
2020-03-05 23:34 ` Jeff Hostetler
2020-03-06 13:57 ` Johannes Schindelin
2020-03-06 18:25 ` Junio C Hamano
2020-03-06 18:08 ` Junio C Hamano
2020-03-06 18:58 ` Jeff Hostetler
2020-03-08 22:24 ` Johannes Schindelin
2020-03-09 14:59 ` Junio C Hamano
2020-03-09 19:17 ` Johannes Schindelin
2020-03-09 19:47 ` Junio C Hamano
2020-03-10 11:42 ` Johannes Schindelin
2020-03-10 18:37 ` Junio C Hamano
2020-03-10 22:08 ` Johannes Schindelin
2020-03-19 21:39 ` Emily Shaffer
2020-03-20 0:28 ` Junio C Hamano
2020-03-20 15:35 ` Johannes Schindelin
2020-03-23 18:52 ` Emily Shaffer
2020-03-20 15:42 ` Johannes Schindelin
2020-03-23 18:50 ` Emily Shaffer
2020-03-20 17:43 ` Junio C Hamano
2020-03-20 22:38 ` Johannes Schindelin
2020-03-20 22:47 ` Junio C Hamano
2020-03-21 10:53 ` Johannes Schindelin
2020-03-02 23:03 ` [PATCH v9 3/5] bugreport: gather git version and build info Emily Shaffer
2020-03-23 21:20 ` Junio C Hamano
2020-03-02 23:03 ` [PATCH v9 4/5] bugreport: add uname info Emily Shaffer
2020-03-02 23:04 ` [PATCH v9 5/5] bugreport: add compiler info Emily Shaffer
2020-03-03 11:46 ` Danh Doan
2020-03-03 14:07 ` Junio C Hamano
2020-03-04 21:39 ` Johannes Schindelin
2020-03-23 21:27 ` Emily Shaffer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200218234628.GA1461@google.com \
--to=emilyshaffer@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).