1

我使用 FossilSCM 作为控制版本和票证的唯一解决方案。到目前为止,一切都很好。它的独立和简约的方法适合我的需要。但我想开始对项目的历史和发展进行一些分析,一个很好的来源是项目的时间表。我可以使用一些 html 解析来尝试将 Fossil 时间线输出转换为其他内容,但我想是否可以选择以其他结构化格式(例如 JSON 或类似格式)导出该信息。网络搜索在该问题上没有产生任何有用的发现。任何指向解决方案的指针?

谢谢,

离场

4

2 回答 2

1

你试过fossil json timeline branch trunk吗?

fossil help json
Usage: fossil json SUBCOMMAND ?OPTIONS?

In CLI mode, the -R REPO common option is supported. Due to limitations
in the argument dispatching code, any -FLAGS must come after the final
sub- (or subsub-) command.

The commands include:

  anonymousPassword
  artifact
  branch
  cap
  config
  diff
  dir
  g
  login
  logout
  query
  rebuild
  report
  resultCodes
  stat
  tag
  timeline
  user
  version (alias: HAI)
  whoami
  wiki

Run 'fossil json' without any subcommand to see the full list (but be
aware that some listed might not yet be fully implemented).

从源代码构建时编译 json: ./configure --json

于 2015-06-01T17:55:03.937 回答
0

进行这项工作的关键是通过从源代码编译它来启用化石中的 json 支持。当前版本已将其禁用,因此在命令行帮助中寻找有关它的任何线索最初对我一无所获。感谢用户 2612611提供了有关它的初步线索。这是我遵循的程序:

  1. 转到https://www.fossil-scm.org/download.html并下载源代码 tarball 包。
  2. 解压之前的包。
  3. 转到您解压缩包的文件夹(让我们称之为/uncompress-folder
  4. ./configure --json
  5. 运行make
  6. 可选:将您新创建的化石二进制文件放在您的路径中或最后一个安装的位置(类似于sudo mv /uncompress-folder/fossil /usr/bin/fossil.
  7. 打开要导出其历史记录的化石存​​储库并启动化石 Web 界面 ( fossil ui)。
  8. 转到http://localhost:8080/json/timeline/checkin?limit=0http://localhost:8080你的本地机器界面的化石 ui 在哪里,并且json/timeline/checkin?limit=0json API 调用说: json export of timeline ( /json/timeline) chekins ( /checkin) for all history ( ?limit=0)。如果您在 url 末尾放置另一个整数而不是 0,则您将拥有最后 n 个签入。

    在命令提示符下,您应该能够通过运行fossil json timeline checkin --limit=0 > timeline.json存储在文件timeline.json上而不是 Web 浏览器来获得相同的结果,但在本地测试中它不起作用。

API 仍然是一个移动的目标,但您可以在 [1] 找到关于这个优秀项目的文档,并在 [2] 找到用于测试参数的演示界面

[1] https://docs.google.com/document/d/1fXViveNhDbiXgCuE7QDXQOKeFzf2qNUkBEgiUvoqFN4/view?pli=1#

[2] http://fossil.wanderinghorse.net/repos/fossil-sgb/json/

于 2015-06-01T23:23:05.683 回答