为了使用Maven,我重构了一个Java Ant项目。该任务主要包括将文件从一个路径移动到另一个路径,同时在此处添加pom.xml,但问题出现在我想提交更改时。由于我手动移动文件(不使用svn mv
),因此subversion已经丢失了文件跟踪并且所有历史记录都已损坏。
我知道我应该使用svn mv
来保存历史记录,但是从git开始我并没有意识到它需要它才需要它为时已晚。我的问题是:有没有办法告诉subversion哪个存储库文件对应于每个工作副本文件?它似乎it's somewhat possible manually executing svn commands,但我需要逐个文件地进行,坦率地说这是很多工作。我可以编写一个脚本,对于我的“破损”工作副本中的每个文件,按名称/ MD5在存储库中搜索,然后执行正确的svn mv
,但我不想重新发明轮子,因为我认为这可能是一个常见的错误。
有什么建议吗?
答案 0 :(得分:0)
稍微搜索之后,我发现Tortoise SVN有点能够解决这种“坏动作”,但仅针对单个文件,并且还有一个名为SmartSVN的工具似乎能够为大型文件集做,但由于不是免费的,我无法尝试。
最后,我写了一个小的bash脚本,对于“错误的”工作副本中的每个文件都试图找到它的原始路径,撤消它并执行正确的smtplib
。我uploaded it给Github,但请自担风险使用它。