如何在保留历史记录的同时重命名 SVN 上的文件?
How to rename file on SVN whilst keeping history?
在保留历史记录的同时在 SVN 中重命名文件时遇到一些问题。
使用了这个线程,但我很确定我刚刚创建了一个新文件,并删除了旧文件...(How to rename a file using svn?)
根据评论,我确实用我想要的新文件名创建了一个新文件。
touch newfilename
svn rm newfilename --force
svn mv oldfilename newfilename
哪个给了我:
A newfilename
D oldfilename
使用 svnX 0.9.13
Subversion 中的重命名实现为具有历史记录的副本(创建新文件)加上删除(删除原始文件)。
如果您 运行 svn status
,您 应该 将 newfilename
的状态视为 A +
,这表明 newfilename
已添加,但随着历史的到来。
如果您看到了,那么您做对了,您可以提交您的更改。我建议在目录级别提交,不要提交单个文件 - 这样,您的重命名操作将在单个修订版中捕获。
如果执行此操作,则可以轻松地重命名 SVN 文件以保留其历史记录。
svn move oldfilename newfilename
svn status
D oldfilename
A + newfilename
如果您看到此内容,则说明文件更改历史记录已保留。
因为你的问题中有 tortoisesvn
标签,下面是使用 TortoiseSVN 1.9.7 的方法:
在您的工作副本文件夹中,右键单击要重命名的文件,然后 select "TortoiseSVN > Repo-browser"
在打开的 Repo-browser window 中,右键单击要重命名的文件并 select "Copy to..."
会出现一个对话框,要求您输入新的文件名(文件以完整路径显示),不要更改路径,只需更改文件名并单击确定。
仍然在 Repo 浏览器中 window,右键单击旧文件并 select "Delete"
完成,文件已重命名并保留了所有历史记录。
- 回到你的工作副本文件夹,右击文件夹然后select"TortoiseSVN > Check for Modification",然后点击"Check repository"按钮,右击重命名的文件然后select "Update"
在保留历史记录的同时在 SVN 中重命名文件时遇到一些问题。
使用了这个线程,但我很确定我刚刚创建了一个新文件,并删除了旧文件...(How to rename a file using svn?)
根据评论,我确实用我想要的新文件名创建了一个新文件。
touch newfilename
svn rm newfilename --force
svn mv oldfilename newfilename
哪个给了我:
A newfilename
D oldfilename
使用 svnX 0.9.13
Subversion 中的重命名实现为具有历史记录的副本(创建新文件)加上删除(删除原始文件)。
如果您 运行 svn status
,您 应该 将 newfilename
的状态视为 A +
,这表明 newfilename
已添加,但随着历史的到来。
如果您看到了,那么您做对了,您可以提交您的更改。我建议在目录级别提交,不要提交单个文件 - 这样,您的重命名操作将在单个修订版中捕获。
如果执行此操作,则可以轻松地重命名 SVN 文件以保留其历史记录。
svn move oldfilename newfilename
svn status
D oldfilename
A + newfilename
如果您看到此内容,则说明文件更改历史记录已保留。
因为你的问题中有 tortoisesvn
标签,下面是使用 TortoiseSVN 1.9.7 的方法:
在您的工作副本文件夹中,右键单击要重命名的文件,然后 select "TortoiseSVN > Repo-browser"
在打开的 Repo-browser window 中,右键单击要重命名的文件并 select "Copy to..."
会出现一个对话框,要求您输入新的文件名(文件以完整路径显示),不要更改路径,只需更改文件名并单击确定。
仍然在 Repo 浏览器中 window,右键单击旧文件并 select "Delete"
完成,文件已重命名并保留了所有历史记录。
- 回到你的工作副本文件夹,右击文件夹然后select"TortoiseSVN > Check for Modification",然后点击"Check repository"按钮,右击重命名的文件然后select "Update"