git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] reftable: support preset file mode for writing

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 10, 2022, 19:14 UTC
Message-ID
<xmqqk0f7z9lr.fsf@gitster.g>
In-Reply-To
<CAFQ2z_MEN2j-sHmGK4SA6N8P9bHvjO2=+G0XxXp_9vzLRxwKuw@mail.gmail.com>
Han-Wen Nienhuys <hanwen@google.com> writes:
Show 16 quoted lines
> On Fri, Dec 24, 2021 at 5:46 AM Junio C Hamano <gitster@pobox.com> wrote:
>> >       if (add->lock_file_fd < 0) {
>> >               if (errno == EEXIST) {
>> >                       err = REFTABLE_LOCK_ERROR;
>> > @@ -478,6 +478,13 @@ static int reftable_stack_init_addition(struct reftable_addition *add,
>> >               }
>> >               goto done;
>> >       }
>> > +     if (st->config.default_permissions) {
>> > +             if (chmod(add->lock_file_name.buf, st->config.default_permissions) < 0) {
>> > +                     err = REFTABLE_IO_ERROR;
>> > +                     goto done;
>>
>> This part does not exactly make sense, though.
>
> why?

Explained in the part that follows that statement in the message you are responding to.

> I read over the adjust_shared_perm function for a bit, but I'm puzzled
> why its complexity is necessary. It seems to do something with X-bits,
> maybe for directories, but that doesn't apply here as we're only
> handling files?

We are propagating executable bit, which affects both directories and files.

> We also only write new files, so we never have to look at the existing
> mode of a file.
It is mostly about defeating the umask of whoever is esecuting "git".
Previous: Han-Wen NienhuysNext: Junio C Hamano
Message 7 of 9 in “preliminary fixes for reftable support”
  1. 0/3 preliminary fixes for reftable supportHan-Wen Nienhuys via GitGitGadget, Dec 23, 2021
  2. 1/3 reftable: fix typo in headerHan-Wen Nienhuys via GitGitGadget, Dec 23, 2021
  3. 2/3 reftable: signal overflowHan-Wen Nienhuys via GitGitGadget, Dec 23, 2021
  4. 3/3 reftable: support preset file mode for writingHan-Wen Nienhuys via GitGitGadget, Dec 23, 2021
  5. Junio C HamanoDec 24, 2021
  6. Han-Wen NienhuysJan 10, 2022
  7. Junio C HamanoJan 10, 2022
  8. Junio C HamanoDec 23, 2021
  9. Junio C HamanoDec 24, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.