使用Fossil DVCS重命名目录

Ant*_*Ant 12 dvcs fossil

是否可以使用Fossil重命名目录?我试过了明显的命令:

fossil mv oldname newname
Run Code Online (Sandbox Code Playgroud)

Fossil然后告诉我它做了一些事情:

RENAME oldname newname
Run Code Online (Sandbox Code Playgroud)

然而,称"化石变化"导致空列表.据我所知,重命名目录要么不受支持,要么尚未实现或只是被破坏.这有诀窍吗?

Ant*_*Ant 17

经过一些研究后,我发现它可以完成,但这是违反直觉的.Fossil并不关心目录会发生什么; 它所关心的只是文件的位置.

重命名目录时,Fossil似乎:

  • 循环访问旧目录的存储库文件列表;
  • 将文件定位在文件系统的新目录中;
  • 更新文件的元数据,以便将它们列为新目录的一部分.

如果新目录不存在,则会失败.新位置没有文件,因此Fossil无法将旧版本与新版本匹配,因此不会进行任何更改.

简而言之:在尝试对Fossil进行更改之前,必须通过文件系统重命名该文件夹.如果你不这样做,Fossil会忽略你.

现在我考虑一下,这是有道理的,虽然我更喜欢它,如果Fossil只是更新文件系统本身而不是强迫其用户分两步.

作为附录,似乎无法向Fossil添加一个空目录.我假设它在内部只存储文件; 文件夹被视为元数据.空文件夹是不描述任何内容的元数据,因此添加它们毫无意义.