在 Fossil 存储库中移动大量文件

Move large number of files in Fossil repo

有没有办法在 Fossil 存储库中移动大量文件?

理想情况下,我可以将它们移动到一个新目录,Fossil 会检测到并继续跟踪它们。 fossil mv 需要单独指定文件名。 fossil add 可用于在文件移动后开始跟踪文件,但随后我必须使用 fossil rm 一次删除一个现有文件。对于少数几个文件,这些都不实用。

fossil addremove 这样做。它相当于 fossil add . 添加所有新文件,然后为每个丢失的文件添加 fossil rm

移动文件只是此命令的一种用途。如果您删除了多个文件,也可以使用它。

缺点是移动的文件将被视为新文件,因此您在查看存储库历史记录时必须牢记这一点。

Fossil mv 可以 将一个目录作为参数,它会递归移动其中的每个文件。但语义并不完全像 unix "mv" 命令,它不适用于“--hard”选项(可能是一个错误)。

例如,如果您有一个目录 "dir" 并且想将它移动到一个新目录中 目录 "subdir",这将有效。

$ mkdir subdir
$ mv dir subdir/
$ fossil mv dir subdir/dir

注意:您必须使用 "subdir/dir" 作为目标参数。否则它不会为所欲为,它会将目录中的所有文件直接移动到子目录中。 (因此它不使用与 unix "mv" 命令相同的语义)。