Repository navigation
Alpha File Manager v3.4.0
3.4.0:左右两格能对比了,判不准的绝不乱动
3.4.0 加了两个东西:并排比较两个目录并按结果同步,以及侧边栏里的
「添加网络驱动器」入口。前者是这个 fork 目前最大的一块新功能。
如果你之前在 3.3.0,这一版不需要任何操作 —— 它是纯增量,没有改动既有行为。
先说清楚这个功能不做什么
它永远不删东西。 同步会补上缺失的文件、更新更旧的那一份;只在目标侧存在的
东西会被报告出来,而不是删掉。想做「镜像」(两边完全一致,多出来的删掉),
留到后面的版本。
这是刻意的。比较目录这个动作本身就容易搞错方向,一旦带上删除,一次误判就是
不可逆的数据损失。第一版先把「看清楚」和「动手」分开。
并排比较
把导航器分成左右两格,工具栏上就多一个「比较并同步」按钮。点开是三步:
第一步,设置。 左右两侧要比的目录(默认取两格当前所在的位置)、比较准则、
排除规则。
准则是这样生效的,顺序照抄 WinSCP:
- 先看修改时间。时间不一样就按时间判,大小根本不看。
- 时间一样,再看文件大小。
- 还一样,再看内容校验和。
- 一个准则都不勾,判据就是「两边都有这个文件」—— 于是只报出真正新增的条目。
还有一档「区分大小写」,给那些会改名字大小写的服务器用。
排除规则一行一条,支持 * 和 ?。命中的目录整棵子树都不参与比较。
第二步,结果。 一棵差异树,加上统计条与状态筛选。
树而不是平铺列表是有意的:整个子目录只在一侧存在时,它应该显示成一个子树,
而不是一堆没有上下文的散名字。状态分九种 —— 相同、仅左侧、仅右侧、左侧较新、
左侧较旧、大小不同、内容不同、类型不同、无法判定。
第三步,预览与执行。 先给你看清单:将要新建哪些目录、复制哪些文件、跳过哪些。
看完再点「开始同步」。同步在后台跑,有进度条,随时能取消;失败的条目单独列出来。
判不准的时候,它会直说
这是这一版最要紧的一条设计。
两个文件时间戳一样、内容不同,是最难办的一种情况:左边那份并不比右边旧,
可它们又不是同一个文件。这种情况下自动同步必然有一边被覆盖掉,而且覆盖的是
哪个,取决于实现里的某个隐含约定。
Alpha File Manager 把这类标成**「方向待定」**,原样放着。它们会被单独列在
「跳过」里,等你自己决定。不自动覆盖。
同样的处理适用于「一边是目录、一边是文件」这种结构冲突 —— 那时候目标侧根本没有
落脚点,硬做只会产生一堆必然失败的错误。
侧边栏里的「添加网络驱动器」
侧边栏底部的盘符列表末尾,多了一个虚线框的按钮 —— 添加网络驱动器。
这就是 Windows 资源管理器给了很多年的那个入口,也是你真正会去找它的位置:
盘符多了、或者想临时挂一个共享的时候,从那儿点一下最顺。
选共享、选盘符(留空则由 Windows 自动分配),挂上之后盘符就出现在侧边栏里,
跟别的盘一样。协议在 Windows 上只列 SMB —— sshfs 要装 WinFSP、nfs 要开
Windows 的功能,摆出来点一下必然失败,不做那种「摆出来再说」的事。
顺带修掉的一个真问题
映射网络驱动器之后,应用报出来的盘符多半是空的。原因是它在 Windows
net use 的输出里找 "assigned" 这个词 —— 而 Windows 真正打印的内容里
根本没有这个词(本机实测输出是「Drive Z: is now connected to ...」)。
盘符明明挂上了,报出来的却是空的。
现在改成直接问 Windows:哪个盘符指向那个共享。这跟 Windows 的语言、
输出表格的列宽、以及远程路径里带不带空格都无关。
这一版是怎么验的
每一项都在装机包上量过,不是在开发构建上:
- 比较并同步跑通完整一轮:自造左右两棵目录树(靶子全部自造,不用用户真实目录),
比较 → 看差异树 → 看预览清单 → 执行 → 核对落盘结果。 - 「方向待定」这一档单独验过:造两个时间戳相同、内容不同的文件,确认它们
没有被覆盖,而是进了跳过清单。 - 网络驱动器映射:自建 SMB 共享 → 侧边栏点「添加网络驱动器」→ 挂载 →
盘符出现在侧边栏 → 卸载 → 复原现场。 - 「取消」单独验过:把靶子放大到 3.84 GB,同步传到一半点「取消」,
确认文件数停在原地不再增长,报告里标注「已取消」。
这个版本不是什么
- 不含删除、不含镜像。 见上。
- 不含内容校验和的远程比对。
RemoteProvider没有 checksum 的概念,FTP 也没有
标准校验和命令。开了校验和准则而有一侧是远程时,结果会如实标成「无法判定」,
而不是假装两边一样。阶段 A 的界面也不暴露这个开关。 - 不含断点续传、不含导出清单。 计划里的三期排期里,这些在阶段 C。
完整清单见更新日志。
构建信息
- 版本号:
3.4.0 - 安装包:
Alpha_File_Manager_3.4.0_x64-setup.exe - 大小:20455261 字节
- SHA-256:
f85d160ab207cb01ffe9efa1c225d9ef1f3c61b914f146da8ad78afc4dcc534c