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

Re: [PATCH] diff-files: treat "i-t-a" files as "not-in-index"

From
Srinidhi Kaushik <shrinidhi.kaushik@gmail.com>
Date
Jun 19, 2020, 09:31 UTC
Message-ID
<20200619093127.GA47528@mail.clickyotomy.dev>
In-Reply-To
<xmqqbllgknfd.fsf@gitster.c.googlers.com>
Thank you for reviewing this; I appreciate it!
Show 7 quoted lines
> > +     content="foo" &&
> > +     echo $content >not-empty &&
>
> The quoting decision is backwards in these two lines.  It is OK not
> to quote when the right hand side literal is clearly a single word
> without $IFS.  On the other hand, it is a good practice to always
> quote when using what is in a "$variable".
Yes, that doesn't look right, I will make changes in v2.
[...]
Show 17 quoted lines
> > > +  touch empty &&
> >
> > Use of "touch" gives a wrong impression that you care about the file
> > timestamp; use something like ": >empty &&" instead when you care
> > about the presence of the file and do not care about its timestamp.
>
> I just realized that this is even more important in this case not to
> use "touch".
>
> The test that uses this file cares not just the presence, but it
> deeply cares that its contents is empty.  The thing it least cares
> about is its timestamp.
>
> The purpose of using "touch" is to update the timestamp, to keep the
> current contents if it exists, and to ensure it exists (as a side
> effect), in the decreasing order of importance.  Use of the command
> here misleads the readers.
Oops, you are right. That makes sense. Will update to ": >empty".
[...]
Show 22 quoted lines
> > +     git add -N empty not-empty &&
> > +     git diff-files -p >actual &&
> > +     hash_e=$(git hash-object empty) &&
> > +     hash_n=$(git hash-object not-empty) &&
> > +     cat >expect <<-EOF &&
> > +     diff --git a/empty b/empty
> > +     new file mode 100644
> > +     index 0000000..$(git rev-parse --short $hash_e)
> > +     diff --git a/not-empty b/not-empty
> > +     new file mode 100644
> > +     index 0000000..$(git rev-parse --short $hash_n)
> > +     --- /dev/null
> > +     +++ b/not-empty
> > +     @@ -0,0 +1 @@
> > +     +$content
> > +     EOF
> > +     test_cmp expect actual
> > +'
>
> OK.  Do we want to show what happens when "diff" and "diff --cached"
> are run with these two "added but not quite added yet" paths to
> contrast with this new case?

I'm not sure if we want to repeat an older test. The test (which was renamed in this patch) in t2203-add-intent.sh: "diff/diff-cached shows ita as new/not-new files" is already doing that. Should the "diff" and "diff --cached" steps be appended here again?

Thanks.
Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 12 in “diff-files: treat "i-t-a" files as "not-in-index"”
  1. diff-files: treat "i-t-a" files as "not-in-index"Srinidhi Kaushik, Jun 11, 2020
  2. Junio C HamanoJun 11, 2020
  3. Srinidhi KaushikJun 11, 2020
  4. Srinidhi KaushikJun 18, 2020
  5. Junio C HamanoJun 18, 2020
  6. Junio C HamanoJun 18, 2020
  7. Junio C HamanoJun 18, 2020
  8. Srinidhi KaushikJun 19, 2020
  9. Junio C HamanoJun 19, 2020
  10. diff-files: treat "i-t-a" files as "not-in-index"Srinidhi Kaushik, Jun 20, 2020
  11. Junio C HamanoJun 20, 2020
  12. Johannes SchindelinJun 23, 2020

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.