Re: [PATCH v5] [GSOC] ref-filter: fix read invalid union member bug
From: ZheNing Hu <hidden>
Date: 2021-05-12 10:37:25
quoted
+ 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.
Instead...quoted
+ mkdir test &&Place everything below ...quoted
+ 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".
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 && ...quoted
+ 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.
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