4

我一直在尝试使用此处找到的说明将我的化石存储库导出到 git 中。我在这里看到了这个问题,但它没有回答我的问题。

我遵循了https://www.fossil-scm.org/xfer/doc/tip/www/inout.wiki上的所有指示,但我似乎无法让它工作。

我做了以下事情:

git init new-repo
cd new-repo
fossil export --git ../repo.fossil | git fast-import

我得到统计数据:

git-fast-import statistics:
---------------------------------------------------------------------
Alloc'd objects:      10000
Total objects:         8831 (         8 duplicates                  )
      blobs  :         5578 (         0 duplicates       3374 deltas of       5224 attempts)
      trees  :         2509 (         8 duplicates       1419 deltas of       2378 attempts)
      commits:          744 (         0 duplicates          0 deltas of          0 attempts)
      tags   :            0 (         0 duplicates          0 deltas of          0 attempts)
Total branches:           1 (         1 loads     )
      marks:        1048576 (      6322 unique    )
      atoms:           4253
Memory total:          2704 KiB
       pools:          2235 KiB
     objects:           468 KiB
---------------------------------------------------------------------
pack_report: getpagesize()            =       4096
pack_report: core.packedGitWindowSize = 1073741824
pack_report: core.packedGitLimit      = 8589934592
pack_report: pack_used_ctr            =       2936
pack_report: pack_mmap_calls          =        744
pack_report: pack_open_windows        =          1 /          1
pack_report: pack_mapped              =  207355128 /  207355128
---------------------------------------------------------------------

我没有看到任何问题,但我没有工作回购。我错过了一步吗?我在化石文档中没有找到更多信息。提前致谢。

编辑:作为对以下问题的回答,我尝试使用 -R 和没有 -R 的导出命令。

4

3 回答 3

5

您需要查看新 Git 存储库的主干分支。默认情况下,该git init命令创建并签出一个名为master的空分支。但 Fossil 使用树干作为其主要分支。

git checkout trunk因此,在之后调用git fast-import,您将能够看到工作目录中的所有文件。

于 2015-03-20T19:45:40.327 回答
2

用法:化石出口 --git ?OPTIONS? ?存储库?

将所有签到的导出写入标准输出。假设提供了 --git 选项,导出以 git-fast-export 文件格式编写。git-fast-export 格式是目前唯一支持的 VCS 交换格式,但将来可能会添加其他格式。

在结帐时运行此命令。 或者使用 -R或 --repository 选项指定要导出的 Fossil 存储库。

使用 --git 导出签入。Git 不支持票证或 wiki 或事件或附件,因此这些都不会被导出。

如果使用“--import-marks FILE”选项,它包含要跳过的消除列表。

如果使用“--export-marks FILE”选项,则删除在退出时写入的所有提交和 blob,以便在下次运行时与“--import-marks”一起使用。

选项: --export-marks FILE export rids of exported data to FILE --import-marks FILE reads of data to ignore from FILE --repository|-R REPOSITORY export the given REPOSITORY

于 2014-12-17T06:28:12.673 回答
2

首先,如果它成功运行,它将被导入到trunk分支中,而 git 默认分支是master这样尝试git checkout trunk@Colin D Bennett 所说的,或者git branch看看它是否列出了 repo 中的任何分支。

如果它不起作用或者如果git branch没有列出任何分支,那么它fossil export不起作用。

现在,我在导出化石仓库之前遇到了同样的问题,但出现了不同的错误:

尝试将化石存储库导出到 git 时无法打开数据库文件

我解决的方法是:

  1. git init git-repo
  2. cd fossil-repo
  3. fossil export --git > git.txt
  4. 移至git.txt_git-repo
  5. type/cat git.txt | git fast-import
  6. git checkout trunk
于 2015-03-22T03:40:39.677 回答