我在创建分支时不小心意外删除了一个文件,我无法弄清楚如何在不丢失文件历史记录的情况下将其恢复。
我做了什么
我正在使用TortoiseSVN(1.8.2)。我通过
复制了一个分支right-click, drag, release and select "SVN Copy and rename versioned item here"
我以为我什么都没做(具体来说,我没有在我的工作副本中提交新分支)。
虽然肯定会发生一些事情 - 这可能是导航错误,我不确定 - 但是底线,文件(NewBranch / app / web / classes / config.properties)没有显示在列表中。 我以某种方式删除了该文件。
当我检查修改时
right-click, TortoiseSVN -> Check for modifications
文件&分支的文件夹出现状态为“normal(+)”,但有两个例外:
TortoiseSVN显示红色“!”作为父文件夹(NewBranch / app / web / classes)的状态,并为其父(Web)及其父(app)和分支根(NewBranch)提供相同的状态。
修复它?
我在“检查修改”输出窗口中尝试“右键单击,还原”文件 - 它给了我一个错误
“如果没有还原父母就无法恢复”。
我尝试在父文件夹及其父文件夹上执行“恢复”,直到分支根目录 - 我没有收到错误,但文件没有重新显示。
我尝试将文件从旧分支复制到此文件夹 - 它说我添加文件!
Arrg。
我想要删除文件&保留其历史。如果必须,我会复制文件 - 但是,任何想法?
答案 0 :(得分:1)
只要你没有承诺,你就不会失去太多。
作为修复("还原")工作副本导致问题,我会重新结账:
只需查看要分支的文件夹,然后选择TortoiseSVN->分支/标记。 选择分支/文件夹并添加您的分支机构。通过这种方式,创建分支(而不是在工作副本中创建分支)要容易得多。