0. 序
记录自己在克隆bustub时的踩坑经历。
1. gtest无法正常运行
虽然bustub的仓库中建立一个私人仓库,然后给出了详细的命令行步骤,但我这个懒人不太想专门去建个仓库,于是就顺手直接把仓库克隆了下来。
git clone https://github.com/cmu-db/bustub
然后build里面的dockerfile搭建镜像,然后尝试在docker里面运行。结果运行构建好的测试,什么输出都没有。。。大概类似于下面这样
$./test/lru_replacer_test #没有任何输出
$echo $?
56 # 返回值56是什么鬼
$
后来问了一下另外在跟这课程的哥们,他那里能用docker正常跑,我寻思可能是我没有按照readme上来做。。。。
2. github push报错
于是我就老老实实按照readme上的指令来克隆仓库,然后在这一行指令上报错了。
$ git push --mirror https://github.com/student/bustub-private.git
! [remote rejected] ghess/p2-refinement -> ghess/p2-refinement (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/cmake.yml` without `workflow` scope)
! [remote rejected] master -> master (refusing to allow a Personal Access Token to create or update workflow `.github/workflows/cmake.yml` without `workflow` scope)
搜索了一番,发现问题出在token的权限不够,需要在创建token时加上workflow
权限(原帖)
创建了一个新的token就正常了。然后发现按照readme上的操作来走测试就能正常跑通了。
3. course code
最后集中记录一下各年的entry code:4PR8G5(2021), 5VX7JZ(2020),虽然这个在FAQ里面能找到