gpt4 book ai didi

sql - 从 Gerrit DB 和 'query' 中完全删除放弃的提交

转载 作者:行者123 更新时间:2023-12-04 22:45:19 31 4
gpt4 key购买 nike

我正在尝试从 Gerrit 中完全清除更改并遇到一些问题。

以前我尝试按照本指南来实现我的目标:

https://www.onyxpoint.com/deleting-abandoned-commits-from-gerrit-code-review/

然而,我搞砸了,并以某种方式设法做到了以下几点:

  • 从 Gerrit gsql 数据库中的所有表中清除违规更改 ID
  • 更改仍会出现在 Web 界面中,但如果我单击它,则会触发错误:“找不到您请求的页面,或者您无权查看此页面。”
  • 如果我为更改运行“gerrit 查询”,它仍会显示,并包含所有信息。

  • 如果更改信息不在数据库中,那么它来自哪里???我也尝试刷新所有缓存。它是否在 lucene 的搜索索引中?

    这不是非常重要,但它真的让我发疯!

    最佳答案

    就我而言,我不必执行重新索引。但是还有一个额外的步骤(5):

  • 打开 GSQL 界面
    $ gerrit-cli gsql
  • 以下命令将在 Gerrit 数据库中将更改集标记为草稿更改集。
    gerrit> update changes set status='d' where change_id='64581';
  • 接下来,更新关联的补丁集。
    gerrit> update patch_sets set draft='Y' where change_id='64581';
    gerrit> \q
  • 在进行进一步更改之前,您需要确保 Gerrit 缓存已被刷新。如果你不这样做,你可能会以奇怪的方式结束
    使用与此更改集相关的 Web UI 时的结果。
    $ gerrit-cli flush-caches --cache changes
  • 确保管理员对 refs/* 的 repo 具有“查看草稿”和“删除草稿”权限
    enter image description here
  • 最后,删除您之前放弃的补丁集。
    在这种情况下,我们将假设您有两个补丁集
    删除。
    $ gerrit-cli review 64581,1 --delete
    $ gerrit-cli review 64581,2 --delete

    一个一个地删除每个补丁集可以是一个 PITA。使用 GUI 一口气消灭它们:
    enter image description here
  • 关于sql - 从 Gerrit DB 和 'query' 中完全删除放弃的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575600/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com