【问题标题】:How can you rename a wiki page in Fossil SCM?如何在 Fossil SCM 中重命名 wiki 页面?
【发布时间】:2014-04-28 01:01:11
【问题描述】:

如何在 Fossil SCM 中重命名 wiki 页面?

在我的特殊情况下,我想重命名我的项目(在管理员、配置、项目名称中),但是如果我这样做了,那么当我在主菜单中单击主页时,什么都不会显示,因为还没有 wiki名称与我的新项目名称匹配的页面。我想重命名我的项目,并重命名我的(唯一)wiki 页面以匹配。

【问题讨论】:

    标签: fossil


    【解决方案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 上发布请求,看看是否有开发人员接听了它。 :-)

      【讨论】:

        猜你喜欢
        • 2020-01-29
        • 2017-11-07
        • 2017-07-05
        • 2014-05-06
        • 2011-01-09
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        • 2021-09-14
        相关资源
        最近更新 更多