Re: [PATCH v4] [GSOC] ref-filter: fix read invalid union member bug
From: ZheNing Hu <hidden>
Date: 2021-05-11 11:47:14
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