# 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)