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

Re: [PATCH v5] [GSOC] ref-filter: fix read invalid union member bug

From
ZheNing Hu <adlternative@gmail.com>
Date
May 12, 2021, 10:37 UTC
Message-ID
<CAOLTT8SroeHvZRiRMoeBAPo-nuAvYOzxRx=fq=DxnpUfy4zVsw@mail.gmail.com>
In-Reply-To
<xmqq35usivi4.fsf@gitster.g>
Show 6 quoted lines
> > +     test_when_finished "cd .. && rm -rf ./test" &&
>
> Not a very good practice to chdir around, even if you have
> when-finished clean-up.  Not worth risking "rm -rf" at random
> places when for example somebody breaks when-finished.
>
OK.
Show 18 quoted lines
> Instead...
>
> > +     mkdir test &&
>
> Place everything below ...
>
> > +     cd test &&
> > +     git init &&
> > +     cat >expect <<-\EOF &&
> > +     refs/heads/main
> > +     EOF
> > +     git add . &&
> > +     git branch -M main &&
>
> This is in a freshly created repository without commit.  Does
> "branch -M" work for such an unborn branch?  Perhaps start this
> block like so:
>

I think "git branch -M" before "git commit" also will be fine. Of course it's okay to put it after commit and before "test_cmp".

Show 21 quoted lines
>         git init test &&
>         (
>                 cd test &&
>                 test_commit initial &&
>                 git branch -M main &&
>                 cat >expect <<-\EOF &&
>                 refs/heads/main
>                 refs/tags/initial
>                 EOF
>                 git remote add origin nowhere &&
>                 ...
>
> > +     git commit -m "test" &&
> > +     git remote add origin nowhere &&
> > +     git config branch.main.remote origin &&
> > +     git config branch.main.merge refs/heads/main &&
> > +     git for-each-ref --format="%(color:#aa22ac)%(refname)" >actual &&
> > +     test_cmp expect actual
>
> ... up to here inside a (subshell).
>

I get it now. By executing cd in the subshell, the "cd .." step can be omitted.

> By the way, your use of "git branch -M" makes the test work whether
> the default initial branch name is still 'master' or already 'main'
> by forcing the branch used for testing to be 'main'.  Clever ;-).
>

Hh, real knowledge comes from practice. Yesterday, I tried it on the old version of git on some classmates’ computers, and there was an error, so using "git branch -M main" can avoid this error.

Show 5 quoted lines
> Will queue with all of the above suggestions squashed in; please see
> if the result is good when it is pushed out later today.
>
> Thanks.
>

Thanks! -- ZheNing Hu

Previous: Junio C HamanoNext: ZheNing Hu via GitGitGadget
Message 27 of 31 in “[GSOC] ref-filter: solve bugs caused by enumeration”
  1. [GSOC] ref-filter: solve bugs caused by enumerationZheNing Hu via GitGitGadget, May 5, 2021
  2. Junio C HamanoMay 6, 2021
  3. ZheNing HuMay 6, 2021
  4. Junio C HamanoMay 6, 2021
  5. ZheNing HuMay 6, 2021
  6. Junio C HamanoMay 6, 2021
  7. ZheNing HuMay 6, 2021
  8. Junio C HamanoMay 6, 2021
  9. ZheNing HuMay 7, 2021
  10. Junio C HamanoMay 7, 2021
  11. ZheNing HuMay 7, 2021
  12. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 6, 2021
  13. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 8, 2021
  14. Junio C HamanoMay 10, 2021
  15. ZheNing HuMay 10, 2021
  16. Junio C HamanoMay 10, 2021
  17. ZheNing HuMay 10, 2021
  18. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 10, 2021
  19. Junio C HamanoMay 11, 2021
  20. ZheNing HuMay 11, 2021
  21. Junio C HamanoMay 11, 2021
  22. ZheNing HuMay 11, 2021
  23. Junio C HamanoMay 11, 2021
  24. ZheNing HuMay 11, 2021
  25. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 11, 2021
  26. Junio C HamanoMay 12, 2021
  27. ZheNing HuMay 12, 2021
  28. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 12, 2021
  29. Junio C HamanoMay 12, 2021
  30. ZheNing HuMay 13, 2021
  31. [GSOC] ref-filter: fix read invalid union member bugZheNing Hu via GitGitGadget, May 13, 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.