如何在 Fossil SCM 中重命名 wiki 页面?
Posted
技术标签:
【中文标题】如何在 Fossil SCM 中重命名 wiki 页面?【英文标题】:How can you rename a wiki page in Fossil SCM? 【发布时间】:2014-04-28 01:01:11 【问题描述】:在我的特殊情况下,我想重命名我的项目(在管理员、配置、项目名称中),但是如果我这样做了,那么当我在主菜单中单击主页时,什么都不会显示,因为还没有 wiki名称与我的新项目名称匹配的页面。我想重命名我的项目,并重命名我的(唯一)wiki 页面以匹配。
【问题讨论】:
【参考方案1】:原则上可以通过在 SQLite 文件编辑器中运行以下命令来重命名它(如果您从“原始 SQL 命令”页面尝试,只有第一个 UPDATE 是成功的):
UPDATE attachment SET target='new name' WHERE target='old name';
UPDATE event SET comment=':new name' WHERE comment=':old name';
UPDATE event SET comment='+new name' WHERE comment='+old name';
UPDATE event SET comment=replace(comment, '[old name]', '[new name]') WHERE comment like '%[old name]%';
UPDATE tag SET tagname='wiki-new name' WHERE tagname='wiki-old name';
乍一看它有效,但随后您将无法更新内容(实际上这对于保护文章很有用)。
为了使重命名生效,您还必须修改包含文章的二进制 blob,并更新增量以防您之前进行过编辑。
我正在研究自动执行上述操作的this script。要使用它,您必须在控制台中执行以下操作:
fossil_editor.py oldname newname repo.fossil
如果一切顺利,应该会出现这样的东西:
This is fossil version 2.16 [7aedd56758] 2021-07-02 12:46:01 UTC
Artifact 61e7cc32f7 updated to 84b8195fe6
Artifact c2290869ad updated to 3ff4f96773
Artifact e993cd0331 updated to bc7e8d52df
References updated
【讨论】:
【参考方案2】:您无法重命名 wiki 页面,因为 wiki 页面由其名称标识;这无异于删除旧页面。而且您不能删除 wiki 页面; Fossil 永远不会删除现有的工件。
但是您可以创建一个新 wiki 页面(使用您项目的新名称),并将旧页面的内容复制到新页面。如果您从旧 wiki 页面中删除所有文本,该旧页面将从 wiki 页面列表中消失。
wiki rename
命令可以自动执行这一系列操作,但到目前为止还没有这样做。您可以在fossil forum 上发布请求,看看是否有开发人员接听了它。 :-)
【讨论】:
以上是关于如何在 Fossil SCM 中重命名 wiki 页面?的主要内容,如果未能解决你的问题,请参考以下文章