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
Jeff King <peff@peff.net>
Date
Nov 18, 2008, 11:33 UTC
Message-ID
<20081118113316.GA18610@segfault.peff.net>
In-Reply-To
<1222833849-22129-6-git-send-email-pclouds@gmail.com>
On Wed, Oct 01, 2008 at 11:04:05AM +0700, Nguyễn Thái Ngọc Duy wrote:
> +test_expect_success 'setup' '
> +	mkdir sub &&
> +	touch 1 2 sub/1 sub/2 &&
> +	git add 1 2 sub/1 sub/2

Mind-boggling, but this manages to break on Solaris. Fix is below.

-- >8 -- t2104: touch portability fix

Some versions of touch support the syntax:
  touch [MMDDhhmm[yy]] file...

which makes the first argument an optional time specification. They can get confused by

  touch 1 2 foo bar

as they assume that '1' is a bogus time specification. This is broken, for example, with /bin/touch on Solaris 8.

To fix it, we'll just reverse the order of arguments so that an unambiguous argument is in the slot for the optional time specification.

Signed-off-by: Jeff King <peff@peff.net>
---
Note that this has implications for 'touch "$FOO" "$BAR"'
used in scripts if FOO might be entirely numeric. However, a
quick grep shows we usually touch one file at a time.
 t/t2104-update-index-no-checkout.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/t2104-update-index-no-checkout.sh b/t/t2104-update-index-no-checkout.sh
index be9f913..37a6861 100755
--- a/t/t2104-update-index-no-checkout.sh
+++ b/t/t2104-update-index-no-checkout.sh
@@ -9,7 +9,7 @@ test_description='git update-index no-checkout bits (a.k.a sparse checkout)'
 
 test_expect_success 'setup' '
 	mkdir sub &&
-	touch 1 2 sub/1 sub/2 &&
+	touch sub/1 sub/2 1 2 &&
 	git add 1 2 sub/1 sub/2
 '
 
-- 
1.6.0.4.984.gbd0b7
Previous: Nguyễn Thái Ngọc DuyNext: Junio C Hamano
Message 11 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.