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

Re: [PATCH v7 6/6] convert: add "status=delayed" to filter process protocol

From
Lars Schneider <larsxschneider@gmail.com>
Date
Jun 27, 2017, 21:58 UTC
Message-ID
<0AC7FBAA-59AE-4CC3-A9CD-725B53FD1ED4@gmail.com>
In-Reply-To
<xmqqlgodyv7k.fsf@gitster.mtv.corp.google.com>
Show 11 quoted lines
> On 27 Jun 2017, at 23:30, Junio C Hamano <gitster@pobox.com> wrote:
> 
> Lars Schneider <larsxschneider@gmail.com> writes:
> 
>> I treated that as low-prio as I got the impression that you are generally OK with
>> the current implementation. I promise to send a patch with this change. 
>> Either as part of this series or as a follow up patch.
> 
> Sure. I was just being curious what happened; I agree that it is a
> good idea to treat this as a lower priority clean-up item and leave
> it to later.

I posted it here: http://public-inbox.org/git/7FF53F59-1240-4BED-999F-FE9C9AD7E6AC@gmail.com/

If you are OK with it, then I will post a v8 with all changes combined.
Show 19 quoted lines
>> Yes. I guess that was a premature optimization on my end.
>> This is how "write_entry()" in entry.c would change:
>> 
>> -                               dco->is_delayed = 0;
>>                                ret = async_convert_to_working_tree(
>>                                        ce->name, new, size, &buf, dco);
>> -                               if (ret && dco->is_delayed) {
>> +                               if (ret && string_list_has_string(&dco->paths, ce->name)) {
>>                                        free(new);
>>                                        goto finish;
>>                                }
>> 
>> OK?
> 
> Actually I should be asking the "OK?" question---the above was what
> I had in mind when I commented, but you are a lot more familiar with
> the way how this code is supposed to work, and I didn't know if the
> emptyness of the list can be a 100% substitute for that bit.  If you
> think they are equivalent, that is a great news.
Yes, I think this should be equivalent.
Show 15 quoted lines
>> At this point I want to ensure that checkout_entry() is called
>> with the CE_RETRY state. Because checkout_entry() needs to pass 
>> that flag to the convert machinery.
>> 
>> This assert was useful when checkout_entry() changed dco->state
>> between CAN_DELAY and DELAYED. In the current implementation the
>> state should not be changed anymore.
>> 
>> Would you prefer if I remove it? (with or without is both fine with me)
> 
> If that is the reason behind the assert, I am OK with either (1)
> moving it _after_ checkout_entry() returns (to ensure that the
> function no longer mucks with the state, or (2) removing it.
> 
> Leaving it at the current position does not make much sense to me.
I'll remove it.

Thanks, Lars

Previous: Junio C HamanoNext: Lars Schneider
Message 12 of 15 in “convert: add "status=delayed" to filter process protocol”
  1. 0/6 convert: add "status=delayed" to filter process protocolLars Schneider, Jun 27, 2017
  2. 1/6 t0021: keep filter log files on comparisonLars Schneider, Jun 27, 2017
  3. 2/6 t0021: make debug log file name configurableLars Schneider, Jun 27, 2017
  4. 3/6 t0021: write "OUT <size>" only on successLars Schneider, Jun 27, 2017
  5. Junio C HamanoJun 27, 2017
  6. Lars SchneiderJun 27, 2017
  7. Junio C HamanoJun 27, 2017
  8. 6/6 convert: add "status=delayed" to filter process protocolLars Schneider, Jun 27, 2017
  9. Junio C HamanoJun 27, 2017
  10. Lars SchneiderJun 27, 2017
  11. Junio C HamanoJun 27, 2017
  12. Lars SchneiderJun 27, 2017
  13. Lars SchneiderJun 27, 2017
  14. 5/6 convert: move multiple file filter error handling to separate functionLars Schneider, Jun 27, 2017
  15. 4/6 convert: put the flags field before the flag itself for consistent styleLars Schneider, Jun 27, 2017

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.