2.3 KiB
2.3 KiB
RELEASE.md — 目录树生成脚本 v1.0.0
发布信息
| 项目 | 值 |
|---|---|
| 项目名称 | 目录树生成脚本 |
| 项目 ID | PROJ-20260509011 |
| 版本 | 1.0.0 |
| 发布日期 | 2026-05-16 |
| Git 标签 | v1.0.0 |
| 提交 Hash | c278c5a |
| Gitea 仓库 | https://git.cclee.wiki/GoudanLabs/tree-generator |
功能清单
| 编号 | 功能 | 状态 |
|---|---|---|
| F013 | 生成目录树(├── / └── 格式,目录在前文件在后,字母排序) | ✅ 通过 |
| F014 | 生成文件列表(-f 参数) | ✅ 通过 |
| F015 | 忽略配置(内置 30+ 种模式 + .treeignore 自定义) | ✅ 通过 |
| F016 | 深度限制(-d 参数) | ✅ 通过 |
| F017 | Markdown 导出(默认 tree_output.md,可自定义路径) | ✅ 通过 |
| F018 | 统计信息(目录数、文件数、总大小 B/KB/MB/GB) | ✅ 通过 |
| F019 | 循环检测(基于 inode 的符号链接循环检测) | ✅ 通过 |
| F020 | 权限处理(无权限目录显示 [Permission denied],不中断) | ✅ 通过 |
测试结果:8/8 通过
已知问题
| 问题 | 描述 | 影响 | 优先级 |
|---|---|---|---|
-d 1 深度限制异常 |
当 -d 参数为 1 时,由于 depth >= MAX_DEPTH 的判断逻辑,根目录下的子目录内容会被跳过,但根目录本身仍显示。在 -d 1 时表现为只显示根目录名,不显示任何子项。 |
边缘场景,正常使用 -d 2+ 无影响 | 低 |
升级说明
v1.0.0(首次发布)
- 初始版本
- 纯 Bash 实现,零外部依赖
- 支持 Linux 和 macOS
- 内置 30+ 种常见忽略模式
- 支持
.treeignore自定义忽略配置 - 基于 inode 的符号链接循环检测
- Markdown 导出 + 终端输出双模式
- 自动统计目录数、文件数和总大小
文件清单
dist/
tree.sh— 主脚本(可执行)
source/
tree.sh— 源码README.md— 完整文档tree_architecture_design.md— 架构设计文档
docs/
README.md— 完整使用说明QUICKSTART.md— 快速入门指南
环境要求
- 操作系统: Linux 或 macOS
- Shell: Bash 4.0+
- 依赖: 无(仅使用标准工具:stat, awk, basename, dirname, mkdir)