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

Re: [PATCH v4 08/10] dir: simplify untracked cache "ident" field

From
Christian Couder <christian.couder@gmail.com>
Date
Dec 30, 2015, 22:01 UTC
Message-ID
<CAP8UFD1KcMOQ2M7=OnC3i2OKrzBigDphdOAgwjVWqMSU9VRo7g@mail.gmail.com>
In-Reply-To
<xmqqsi2kga1x.fsf@gitster.mtv.corp.google.com>
On Tue, Dec 29, 2015 at 11:32 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 35 quoted lines
> Christian Couder <christian.couder@gmail.com> writes:
>
>> -static int ident_in_untracked(const struct untracked_cache *uc)
>> +static int ident_current_location_in_untracked(const struct untracked_cache *uc)
>>  {
>> -     const char *end = uc->ident.buf + uc->ident.len;
>> -     const char *p   = uc->ident.buf;
>> +     struct strbuf cur_loc = STRBUF_INIT;
>> +     int res = 0;
>>
>> -     for (p = uc->ident.buf; p < end; p += strlen(p) + 1)
>> -             if (!strcmp(p, get_ident_string()))
>> -                     return 1;
>> -     return 0;
>> +     /*
>> +      * Previous git versions may have saved many strings in the
>> +      * "ident" field, but it is insane to manage many locations,
>> +      * so just take care of the first one.
>> +      */
>> +
>> +     strbuf_addf(&cur_loc, "Location %s, system ", get_git_work_tree());
>> +
>> +     if (starts_with(uc->ident.buf, cur_loc.buf))
>> +             res = 1;
>> +
>> +     strbuf_release(&cur_loc);
>> +
>> +     return res;
>>  }
>
> The ", system " part looks funny.  I think I know what you are
> trying to do, though.
>
> If the path to the working tree has ", system " as a substring,
> I wonder if funny things may happen with this starts_with()?

Yeah, I think in the next iteration I will do what Torsten suggests. It looks like the only sane solution, other than just not using the "ident" field anymore and relying only on config variables like the example I give in my reply to Torsten.

Previous: Junio C HamanoNext: Torsten Bögershausen
Message 13 of 24 in “Untracked cache improvements”
  1. 00/10 Untracked cache improvementsChristian Couder, Dec 29, 2015
  2. 01/10 dir: free untracked cache when removing itChristian Couder, Dec 29, 2015
  3. Junio C HamanoDec 29, 2015
  4. 02/10 update-index: use enum for untracked cache optionsChristian Couder, Dec 29, 2015
  5. 03/10 update-index: add --test-untracked-cacheChristian Couder, Dec 29, 2015
  6. Junio C HamanoDec 29, 2015
  7. 04/10 update-index: add untracked cache notificationsChristian Couder, Dec 29, 2015
  8. 05/10 update-index: move 'uc' var declarationChristian Couder, Dec 29, 2015
  9. 06/10 dir: add {new,add}_untracked_cache()Christian Couder, Dec 29, 2015
  10. 07/10 dir: add remove_untracked_cache()Christian Couder, Dec 29, 2015
  11. 08/10 dir: simplify untracked cache "ident" fieldChristian Couder, Dec 29, 2015
  12. Junio C HamanoDec 29, 2015
  13. Christian CouderDec 30, 2015
  14. Torsten BögershausenDec 30, 2015
  15. Christian CouderDec 30, 2015
  16. 09/10 config: add core.untrackedCacheChristian Couder, Dec 29, 2015
  17. Junio C HamanoDec 29, 2015
  18. Christian CouderDec 30, 2015
  19. Junio C HamanoDec 30, 2015
  20. Christian CouderDec 31, 2015
  21. Junio C HamanoJan 4, 2016
  22. Christian CouderJan 8, 2016
  23. Junio C HamanoJan 8, 2016
  24. 10/10 t7063: add tests for core.untrackedCacheChristian Couder, Dec 29, 2015

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.