0

我在 Windows 中使用 TortoiseSVN 签出了一个 Subversion 分支。我有一个文件,叫它 myfile.txt,我想重命名它,比如 mynewfile.txt。但是,我想保留 myfile.txt,然后将其恢复到以前的版本,比如 r15。所以,我希望 myfile.txt 有来自 r15 的内容,而 mynewfile.txt 有来自 rHEAD 的 myfile.txt 的内容。我希望我可以用 Subversion 命令以某种方式做到这一点,以便保留文件的历史记录。这样,当我提交这个并且您查看修改时,您会看到 mynewfile.txt 只是 myfile.txt 的重命名,而 myfile.txt 现在具有来自 r15 的旧内容。这可能吗?我是否应该重命名 myfile.txt -> mynewfile.txt 然后重新制作 myfile.txt,手动将内容从 r15 复制到其中?

4

2 回答 2

4
svn cp myfile.txt mynewfile.txt
svn co -r15 myfile.txt
svn commit

我相信这会如你所愿地保留历史。

编辑: TortoiseSVN,没有意识到!新步骤:

  1. 打开回购浏览器并右键单击您的 myfile.txt
  2. 选择“复制到...”并选择mynewfile.txt作为新名称。
  3. 右键单击签出副本中的myfile.txt并选择“更新到修订版”并选择 15。
  4. 犯罪。
于 2010-07-22T21:46:16.237 回答
1

您需要旧版本的第二个工作副本(复制目录并仅更新单个文件就足够了)。然后您需要执行以下步骤:

  • 在 HEAD 工作副本rename中从 svn 上下文菜单中选择重命名文件
  • 转到 OLD 工作副本并用鼠标右键将旧文件拖到 HEAD 工作副本
  • svn copy versioned items here从出现的菜单中选择
  • 提交(确保旧文件的文本状态为“已替换(+)”,新文件为“已添加(+)”)
于 2010-07-27T07:49:06.750 回答