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

[PATCH v2 0/2] checkout-index: some cleanups to --temp and --prefix outputs

From
Matheus Tavares <matheus.bernardino@usp.br>
Date
Feb 15, 2021, 18:24 UTC
Message-ID
<cover.1613411136.git.matheus.bernardino@usp.br>
In-Reply-To
<cover.1612812581.git.matheus.bernardino@usp.br>
Changes since v1:
- Added regression tests in first patch.
- Left the `topath[]` cleanup outside the if block on patch 2, to make
  it easier to read.
Matheus Tavares (2):
  write_entry(): fix misuses of `path` in error messages
  checkout-index: omit entries with no tempname from --temp output
 builtin/checkout-index.c        | 35 ++++++++++++++++++++++-----------
 entry.c                         |  8 ++++----
 t/t2006-checkout-index-basic.sh | 23 ++++++++++++++++++++++
 3 files changed, 51 insertions(+), 15 deletions(-)
Range-diff against v1:
1:  d52bcad326 ! 1:  bdda5f99d0 write_entry(): fix misuses of `path` in error messages
    @@ Commit message
         writing to a tempfile. (In fact, `path` will be either empty or dirty
         when writing to a tempfile.) Therefore, these variables cannot be used
         interchangeably. In this sense, fix wrong uses of `path` in error
    -    messages where it should really be `ce->name`. (There doesn't seem to be
    -    any misuse in the other way around.)
    +    messages where it should really be `ce->name`, and add some regression
    +    tests. (Note: there doesn't seem to be any misuse in the other way
    +    around.)
     
         Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
     
    @@ entry.c: static int write_entry(struct cache_entry *ce,
      	}
      
      finish:
    +
    + ## t/t2006-checkout-index-basic.sh ##
    +@@ t/t2006-checkout-index-basic.sh: test_expect_success 'checkout-index reports errors (stdin)' '
    + 	test_i18ngrep not.in.the.cache stderr
    + '
    + 
    ++test_expect_success 'checkout-index --temp correctly reports error on missing blobs' '
    ++	test_when_finished git reset --hard &&
    ++	missing_blob=$(git hash-object --stdin </dev/null) &&
    ++	cat >objs <<-EOF &&
    ++	100644 $missing_blob	file
    ++	120000 $missing_blob	symlink
    ++	EOF
    ++	git update-index --index-info <objs &&
    ++
    ++	test_must_fail git checkout-index --temp symlink file 2>stderr &&
    ++	test_i18ngrep "unable to read sha1 file of file ($missing_blob)" stderr &&
    ++	test_i18ngrep "unable to read sha1 file of symlink ($missing_blob)" stderr
    ++'
    ++
    ++test_expect_success 'checkout-index --temp correctly reports error for submodules' '
    ++	git init sub &&
    ++	test_commit -C sub file &&
    ++	git submodule add ./sub &&
    ++	git commit -m sub &&
    ++	test_must_fail git checkout-index --temp sub 2>stderr &&
    ++	test_i18ngrep "cannot create temporary submodule sub" stderr
    ++'
    ++
    + test_done
2:  1275701345 ! 2:  6ece1947c1 checkout-index: omit entries with no tempname from --temp output
    @@ builtin/checkout-index.c: static struct checkout state = CHECKOUT_INIT;
     +		putchar('\t');
     +		write_name_quoted_relative(name, prefix, stdout,
     +					   nul_term_line ? '\0' : '\n');
    ++	}
      
    --	for (i = 0; i < 4; i++) {
    --		topath[i][0] = 0;
    -+		for (i = 0; i < 4; i++) {
    -+			topath[i][0] = 0;
    -+		}
    - 	}
    - }
    - 
    + 	for (i = 0; i < 4; i++) {
    + 		topath[i][0] = 0;
-- 
2.29.2
Previous: Junio C HamanoNext: Matheus Tavares
Message 9 of 15 in “checkout-index: some cleanups to --temp and --prefix outputs”
  1. 0/2 checkout-index: some cleanups to --temp and --prefix outputsMatheus Tavares, Feb 8, 2021
  2. 1/2 write_entry(): fix misuses of `path` in error messagesMatheus Tavares, Feb 8, 2021
  3. Junio C HamanoFeb 9, 2021
  4. Matheus Tavares BernardinoFeb 9, 2021
  5. 2/2 checkout-index: omit entries with no tempname from --temp outputMatheus Tavares, Feb 8, 2021
  6. Junio C HamanoFeb 9, 2021
  7. Matheus Tavares BernardinoFeb 9, 2021
  8. Junio C HamanoFeb 10, 2021
  9. 0/2 checkout-index: some cleanups to --temp and --prefix outputsMatheus Tavares, Feb 15, 2021
  10. 1/2 write_entry(): fix misuses of `path` in error messagesMatheus Tavares, Feb 15, 2021
  11. Junio C HamanoFeb 16, 2021
  12. 2/2 checkout-index: omit entries with no tempname from --temp outputMatheus Tavares, Feb 15, 2021
  13. 0/2 checkout-index: some cleanups to --temp and --prefix outputsMatheus Tavares, Feb 16, 2021
  14. 2/2 checkout-index: omit entries with no tempname from --temp outputMatheus Tavares, Feb 16, 2021
  15. 1/2 write_entry(): fix misuses of `path` in error messagesMatheus Tavares, Feb 16, 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.