该修订程序的要求如下:
- 如可能,不需要任何扩展程序。它不能需要非默认扩展程序,即不随正式Mercurial安装提供的扩展程序。 - 如果要修改的提交记录是当前分支的一个头,则不应创建新的头。如果提交记录不是头,则可以创建新的头。 - 这个过程应该是安全的,如果由于任何原因修订失败,我希望恢复到修订前的相同工作副本和存储库状态。换句话说,如果修订本身可能会失败,那么应该有一个故障转移程序来恢复工作副本和存储库状态。我指的是在修订过程中可能出现的“失败”(例如冲突),而不是文件系统相关的问题(例如访问限制,无法锁定文件以进行写入等)。
更新(1):
- 该过程必须是可自动化的,因此可以由GUI客户端执行,无需任何用户交互。
更新(2):
- 工作目录中的文件不能被触及(某些修改后的文件可能存在文件系统锁定)。这特别意味着,可能的方法在任何时候都不能要求干净的工作副本。