gerrit 删除废弃的提交(Abandoned commit change)

gerrit 删除废弃的提交(Abandoned commit change)

步骤1 gerrit数据库访问授权

首先在gerrit站点确认project config里是否对Administrator组有访问gerrit数据库的权限

使用Administrator组的账户登陆gerrit网站,然后点击Projects->List,选择All-Projects项目,进入之后点edit config

确保在[capability]节点下有

accessDatabase = group Administrators

修改完之后,需要点击Save,然后就像审核其他代码的提交一样,找到My->Open下面的Edit Project Config,点击Publish Edit,之后点击Publish


到此,对Administrator组的gerrit数据库授权完成,这里无需重启gerrit服务


步骤2 ssh秘钥设置及连接

如果拉取提交代码的时候,已经设置过SSH key,则跳过此步骤
否则找到已登录的用户的Settings界面,Profile下的Username就是SSH登陆的用户名,
打开SSH Public Keys,点击Add Key ...,然后把自己的(~/.ssh/id_rsa.pub)Public Key文本放进去,
注意,Gerrit只支持 ssh-rsa和ssh-dss两种形式的key,可以参考
 https://review.openstack.org/Documentation/user-upload.html#configure_ssh

gerrit服务器的ssh端口一般是29418
之后可以用ssh客户端进行连接(Windows下可以使用git自带的git bash进行连接):
ssh -p 29418  Username@gerrithost gerrit gsql

如果出现欢迎字符则表示成功

Welcome to Gerrit Code Review 2.11.5
(H2 1.3.174 (2013-10-19))


Type '\h' for help.  Type '\r' to clear the buffer.


gerrit>

步骤3 更新gerrit数据库的废弃记录

在步骤3的gerrit数据库命令行中,输入如下命令,注意可能需要把所有的change_id,和patch_sets 列表保存出来,便于后面的补充处理

update changes set status='d' where STATUS ='A';

update patch_sets set draft='Y' where in (select change_id from changes where STATUS ='A');

\q

退出gerrit数据库命令行

然后通过如下命令刷新缓存
ssh -p 29418   Username @gerrithost gerrit flush-caches

步骤4 停止gerrit服务,并重建索引

./gerrit.sh stop

java -jar gerrit.war的路径 reindex -d gerrit网站的根目录

之后启动gerrit服务
./gerrit.sh start

至此,所有废弃的提交记录已经全部从gerrit网站上消失了

补充 review处理

对所有的废弃的change_id,可能需要通过review处理来删除掉记录

ssh -p 29418  Username@gerrithost gerrit change_id,1

其中的1是patch的版本号,但本人操作的时候无需此步骤


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值