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

Re: [PATCH 5/9] update-index: add --checkout/--no-checkout to update CE_NO_CHECKOUT bit

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 20, 2008, 22:16 UTC
Message-ID
<7vod0aqbz9.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<fcaeb9bf0811200726x1f2956c6k6f2ca16543a0fbc@mail.gmail.com>
"Nguyen Thai Ngoc Duy" <pclouds@gmail.com> writes:
Show 21 quoted lines
>> Yes, I also dislike the subtlety, but my "obvious" idea was something
>>  like:
>>
>>   for i in 1 2 sub/1 sub/2; do
>>     touch $i
>>   done
>>
>>  which just seemed clunky. But:
>>
>>
>>  > -     touch 1 2 sub/1 sub/2 &&
>>  > +     touch ./1 ./2 sub/1 sub/2 &&
>>
>>
>> this is less clunky, and I have confirmed that it solves the problem. I
>>  just wasn't clever enough to think of it in the first place. ;)
>
> Thanks for catching. The last half also has the same problem. Another
> way is maybe just stay away for those numbers, naming the files by
> ... Just wonder if we could have some ways to automatically
> catch this kind of bug in the future.

A tool to do so essentially amounts to coming up with a set of POSIX command line tools that know and flag all the known bugs broken platform tools have, at the same time producing a reasonable end result so that it can continue running and detecting more portability issues in the scripts.

Using dash as the shell helps to catch use of constructs outside POSIX, running various GNU tools with POSIXLY_CORRECT=YesPlease may have similar effects, but quirks specific to particular platforms like the above is fundamentally hard to check. Running autobuilder farms like Jeff does is probably the best thing we can do.

Previous: Nguyen Thai Ngoc DuyNext: Santi Béjar
Message 18 of 23 in “Sparse checkout (first half)”
  1. 0/9 Sparse checkout (first half)Nguyễn Thái Ngọc Duy, Oct 1, 2008
  2. 1/9 Extend index to save more flagsNguyễn Thái Ngọc Duy, Oct 1, 2008
  3. 2/9 Introduce CE_NO_CHECKOUT bitNguyễn Thái Ngọc Duy, Oct 1, 2008
  4. 3/9 ls-files: add options to support sparse checkoutNguyễn Thái Ngọc Duy, Oct 1, 2008
  5. 4/9 update-index: refactor mark_valid() in preparation for new optionsNguyễn Thái Ngọc Duy, Oct 1, 2008
  6. 5/9 update-index: add --checkout/--no-checkout to update CE_NO_CHECKOUT bitNguyễn Thái Ngọc Duy, Oct 1, 2008
  7. 6/9 ls-files: Add tests for --sparse and friendsNguyễn Thái Ngọc Duy, Oct 1, 2008
  8. 7/9 Prevent diff machinery from examining worktree outside sparse checkoutNguyễn Thái Ngọc Duy, Oct 1, 2008
  9. 8/9 checkout_entry(): CE_NO_CHECKOUT on checked out entries.Nguyễn Thái Ngọc Duy, Oct 1, 2008
  10. 9/9 grep: skip files outside sparse checkout areaNguyễn Thái Ngọc Duy, Oct 1, 2008
  11. Jeff KingNov 18, 2008
  12. Junio C HamanoNov 18, 2008
  13. Junio C HamanoNov 19, 2008
  14. Jeff KingNov 19, 2008
  15. Nguyen Thai Ngoc DuyNov 20, 2008
  16. Jeff KingNov 20, 2008
  17. Nguyen Thai Ngoc DuyNov 20, 2008
  18. Junio C HamanoNov 20, 2008
  19. Santi BéjarOct 1, 2008
  20. Santi BéjarOct 1, 2008
  21. Nguyen Thai Ngoc DuyOct 1, 2008
  22. Santi BéjarOct 1, 2008
  23. Santi BéjarOct 2, 2008

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.