如何让Fossil SCM自动追踪文件与文件夹的重命名操作?
关于Fossil SCM重命名操作的解决方案
首先明确:Fossil至今依然没有自动追踪文件/文件夹重命名的功能,官方的设计思路是避免自动识别带来的误判,所以必须通过显式命令来关联新旧文件。不过你不用手动改完文件再执行命令——fossil mv命令本身就会同时完成文件系统重命名和版本库变更记录,步骤是:
- 直接执行
fossil mv 旧路径/文件名 新路径/文件名,这个命令会帮你在本地文件系统里重命名文件/文件夹,同时把这个变更记录到Fossil的待提交列表里,之后正常fossil commit即可。
如果需要批量处理重命名,可以借助fossil status的输出写简单脚本:fossil status会把你手动重命名后的文件标记为「缺失(missing)」和「新增(added)」,你可以写个脚本匹配这两类文件的对应关系,自动生成fossil mv命令。比如bash环境下可以用awk或者grep来提取相关文件名,批量执行。
另外你提到的15年前的讨论结论至今依然有效,Fossil官方没有计划添加自动追踪重命名的功能,核心原因是要保证版本库的确定性,防止自动识别把无关文件误判为重命名。
内容的提问来源于stack exchange,提问作者user22995335
相关产品推荐
相关产品推荐

