使用 git 管理词典文件的讨论

我也在想,现在数据集也讲究版本控制。词典作为一种数据,放 GitHub 的话,感觉也方便做更新和发布,容易获得他人贡献就不说了,还能用 Actions 实现流程自动化。

数据问题都不大,问题是别人查不查,还有门槛的问题。

1 Like

其实数据大小还是一个问题的。。

诶确实。除了大小,可能还有版权。

确实,例如即使指定depth=1,nerd-font那个5个多G的仓库克隆下来要老半天

其他的问题,比如网页端查看这些(例子:一个文件夹里面很多很多文件),大的文本文件的更新我没试过,不知道是怎样更新的。

我觉得大文件完全可以分割,自动构建脚本里再去做合并和打包,不然git diff都看得够呛

小文件吗哈哈,上次我试了在自建 GitLab 上传很多小文件(每个词条装在一个文件里),网页端没法用,虽然命令行用着还好,但是我就是想用网页编辑来着。

多分几个文件夹就行了,按照不同的前n个字符 :grinning:

对的,我后来也是这么想的,摊手。

git 能和 mdict 集成,用来跟踪 mdd 解压前的源文件的MD5的变动吗?

一个自定义命令 git update 即可自动识别所有的需要更新的文件,下载、解包、按源文件路径重新打包。

二进制文件就别想了,而且你要看解压后的文本那diff你一天都看不完

1 Like

git 只能追踪文字文件吗?

二进制的文件如果本地版本没改动过,为什么不检测md5相同的文件略过下载,而是再重新下载一遍呢。

为什么要放mdx呢,直接学github将二进制放release就行了,放仓库里还占.git文件夹的空间

一步到位啊。

apt upgrade :expressionless:

版权问题放在GitHub是不可行的。

可服务器自己搭建,但git的源码是以整个文件的指纹作为是否修改过的依据的,需要每个词条一个文件

git pull时不时还网速慢到你怀疑人生,还不能断点续传(apt可以)

我想了想,这应该是第三个独立的命令行工具。

胶水,把 git 和 mdict 粘起来。

  • 上传时,解压自动处理
    1. 纯 git 管理部分:上传 git 文本的变动部分
    2. md5 管理部分:可以上传 mdx, mdd 文件到文件服务器,server 自动解压成源文件进行 git 及 文件MD5为依据的纯文件更新。
  • 更新下载时
    1. 对二进制文件,读取 server 的 md5 列表,与本地文件对比,少的、变动的才下载该文件。
    2. 对文本文件(txt, js, css),git 更新变动部分。
    3. 下载后,自动调用 mdict 命令打包到原目录。
1 Like