You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Tortoise SVN或SQLite查询指定时间段的新增文件?

查询指定时间段代码库新增文件的方法

一、使用TortoiseSVN实现

图形界面操作

  • 右键目标工作副本,选择「TortoiseSVN」→「显示日志」
  • 在日志窗口顶部的日期筛选栏,输入起始日期2022-01-01和结束日期2022-10-10,点击应用筛选
  • 点击日志窗口的「导出」按钮,选择CSV格式导出日志。打开导出文件后,筛选Action列为A(代表新增)的条目,即可得到新增文件列表,统计行数就是文件数量
  • 也可以在日志窗口的「显示」菜单中勾选「仅显示添加的文件」,直接在界面查看所有新增文件,右键可复制列表

命令行方式(TortoiseSVN自带svn命令工具)

打开命令提示符,进入工作副本目录,执行以下命令:

# 列出指定时间段内的新增文件
svn log -v -r {2022-01-01}:{2022-10-10} | findstr "^A"  # Windows环境
svn log -v -r {2022-01-01}:{2022-10-10} | grep "^A"     # Linux/macOS环境

# 统计新增文件数量
svn log -v -r {2022-01-01}:{2022-10-10} | findstr "^A" | find /c /v ""  # Windows
svn log -v -r {2022-01-01}:{2022-10-10} | grep "^A" | wc -l             # Linux/macOS

二、使用SQLite查询(基于TortoiseSVN本地缓存)

TortoiseSVN的工作副本目录下的.svn/wc.db是SQLite格式的缓存数据库,可直接查询:

  1. 用SQLite命令行工具或支持SQLite的编辑器打开.svn/wc.db
  2. 执行查询语句获取新增文件列表:
SELECT n.local_relpath AS 新增文件路径, datetime(r.date/1000000, 'unixepoch') AS 提交时间
FROM NODES n
JOIN REVISIONS r ON n.created_rev = r.revision
WHERE r.date BETWEEN strftime('%s', '2022-01-01') * 1000000 AND strftime('%s', '2022-10-11') * 1000000
AND n.kind = 'file';
  1. 执行统计语句获取文件数量:
SELECT COUNT(*) AS 新增文件总数
FROM NODES n
JOIN REVISIONS r ON n.created_rev = r.revision
WHERE r.date BETWEEN strftime('%s', '2022-01-01') * 1000000 AND strftime('%s', '2022-10-11') * 1000000
AND n.kind = 'file';

注:r.date存储的是微秒级时间戳,所以需要用strftime转换日期为秒级后乘以1000000匹配格式

内容的提问来源于stack exchange,提问作者Joao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:15:21