Re: [PATCH v4] [GSOC] ref-filter: fix read invalid union member bug
- From
ZheNing Hu <adlternative@gmail.com>
- Date
- May 11, 2021, 11:47 UTC
- Message-ID
- <CAOLTT8SiEVR62LwuagnpbZ4XxiUMe2M2WPjaorzSJmfERD6BMw@mail.gmail.com>
- In-Reply-To
- <xmqqlf8lmxca.fsf@gitster.g>
Show 15 quoted lines
> Well, the thing is, > > $ git checkout 49f38e2d ;# (The fifteenth batch, 2021-05-10) > $ git am -s mbox > $ git show --stat --oneline > 39509d100a (HEAD) ref-filter: fix read invalid union member bug > ref-filter.c | 2 +- > t/t6302-for-each-ref-filter.sh | 18 ++++++++++++++++++ > 2 files changed, 19 insertions(+), 1 deletion(-) > $ git show ref-filter.c | git apply -R ;# revert only the fix > $ make -j32 && make -C t T=t6302-*.sh > > does not seem to break anything. Perhaps there is something more > than the "17th byte" thing (like structure padding that may vary > depending on the compiler and architecture)?
Fine, I guess the reason for this mystery is I "push" this branch to github and you haven't done it. That may not be due to the platform. Because I can see no this bug happening when I use a new git repo without "git push", and I test in archlinux or deepin, this bug will happen in these environments.
I take back what I said before, maybe this is really related to push.
Let's see what happens:
#!/bin/sh mkdir test cd test git init echo 1>1 git add . git branch -M main 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)%(objectname)"
These two "git config" is for simulating a push environment.
I guess you also saw this bug:
BUG: ref-filter.c:1544: unhandled RR_* enum
I will use it for the test.
Thanks. -- ZheNing Hu