案例
openrsync:ISC 许可的 rsync 协议 27 实现
一个 ISC 许可的 rsync 实现,复制目录并核对结果。regress/functional/test00_simple.test 生成 dir1/one.txt 和 dir2 下的预期目录树,用 openrsync -a 把 dir1 复制到 dir3,再由 compare_trees 比较目录清单和文件内容。
- 目标
- 协议
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 来源复核于
- 星标
- 940
- 最近提交
- 2026-07-30
- 主要语言
- C
- 许可(GitHub 识别)
- ISC
GitHub 数据,截至 2026-11-09
使用条件与局限
- 范围:提交 8235c68f11b4fad5e24849a01d04ea153c29ee28。README 称 openrsync 是采用 BSD(ISC)许可的 rsync 实现,与 rsync 3.1.3 兼容,也与任何支持协议 27 的对端兼容。rsync.5 写明它与参考实现的第 27 版兼容。官方支持的系统是 OpenBSD。
- 测试证据:regress/functional/conf.sh 在变量尚未设置时把 rsync 设为 ./openrsync。test00_simple.test 用 mkdirfile 建立 dir1/one.txt,并在 dir2/dir1 下放同一份文件,然后运行 $rsync -a dir1 dir3,再调用 compare_trees dir2 dir3。compare_trees 比较文件清单、目录清单,再用 diff -ru 比较文件内容。make regress_functional 运行这些测试。
- 许可:LICENSE.md 允许为任何目的使用、复制、修改和/或分发本软件,只要保留版权声明。版权行是 2019 年 Kristaps Dzonsons。
引用
BibTeX
@misc{openrsync-protocol-case,
title = {{openrsync: an ISC implementation of rsync protocol 27}},
howpublished = {\url{https://github.com/kristapsdz/openrsync}},
url = {https://github.com/kristapsdz/openrsync},
urldate = {2026-11-03},
note = {Awesome REA entry: \url{https://awesomerea.org/zh/resources/openrsync-protocol-case/}}
}纯文本
openrsync: an ISC implementation of rsync protocol 27。https://github.com/kristapsdz/openrsync(访问于 2026-11-03)。Awesome REA 条目:https://awesomerea.org/zh/resources/openrsync-protocol-case/
有帮助?在 GitHub 上为 Awesome REA 加星2.4k
关于此条目
说明已依据一手来源复核。
一手来源
- README.md GitHub · kristapsdz/openrsync · 修订 8235c68
- rsync.5 GitHub · kristapsdz/openrsync · 修订 8235c68
- regress/functional/test00_simple.test GitHub · kristapsdz/openrsync · 修订 8235c68
- regress/functional/lib.sh GitHub · kristapsdz/openrsync · 修订 8235c68
- regress/functional/conf.sh GitHub · kristapsdz/openrsync · 修订 8235c68
- LICENSE.md GitHub · kristapsdz/openrsync · 修订 8235c68