在 SVN 中跟踪移动文件/目录的完整日志,可以使用以下方法:
svn log
命令:要查看文件或目录的移动历史,可以使用 svn log
命令并添加 --diff
选项。例如,要查看名为 example.txt
的文件的移动历史,可以运行以下命令:
svn log --diff --search="example.txt"
这将显示所有涉及 example.txt
的提交记录,包括文件移动和修改。在输出中,您可以看到文件的移动操作,它们将显示为 "A +" 或 "D +" 操作,后面跟着文件的新路径和旧路径。
svn log
命令并使用 grep
过滤结果:要更精确地查找文件或目录的移动操作,可以使用 grep
命令来过滤 svn log
的结果。例如,要查找名为 example.txt
的文件的移动操作,可以运行以下命令:
svn log --diff --search="example.txt" | grep -E "^\s*(A |D |M )\s+\S+\s+\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){3}\S+\s+(\S+\s+){
领取专属 10元无门槛券
手把手带您无忧上云