我一直在尝试使用此处的说明将我的化石存储库导出到 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 的导出命令。
签出新 Git 存储库的主干分支。 默认情况下,git init
命令创建并签出一个名为 master 的空分支。 但Fossil使用树干作为其主要分支。
git fast-import
后调用git checkout trunk
,您将能够看到工作目录中的所有文件。
首先,如果它确实成功工作,它将被导入到trunk
分支中,而 git 默认分支是master
所以按照 D Bennett 所说的或git branch
@Colin尝试git checkout trunk
,看看它是否列出了存储库中的任何分支。
如果它不起作用,或者git branch
没有列出任何分支,则fossil export
不起作用。
现在,我之前在导出化石存储库时遇到了同样的问题,但出现了不同的错误:
尝试将化石存储库导出到 git 时无法打开数据库文件">
我解决它的方法是:
-
git init git-repo
-
cd fossil-repo
-
fossil export --git > git.txt
- 将
git.txt
移至git-repo
-
type/cat git.txt | git fast-import
-
git checkout trunk
- 瞧
用法:化石出口 --git ?选项??存储 库?
将所有签入的导出写入标准输出。 导出是以 git-fast-export 文件格式编写,假设 --git 选项为提供。 git-fast-export 格式是目前唯一的 VCS支持交换格式,但可能会添加其他格式未来。
在结帐中运行此命令。 或者使用 -R 或 --repository选项以指定要导出的化石存储库。
仅使用 --git 导出签入。 Git 不支持票证或 Wiki 或事件或附件,因此不会导出任何内容。
如果使用"--import-marks FILE"选项,则它包含骑到跳过。
如果使用"--export-marks FILE"选项,则删除所有提交和在退出时写入的 blob,以便在下次运行时与"--import-marks"一起使用。
选项: --导出标记文件 导出数据的 rid 到 FILE --导入标记文件读取要从文件中忽略的数据 --repository|-R REPOSITORY 导出给定的仓库