如何用旧版本替换分支的当前 svn 版本?
How to replace the current svn version of a branch with an older one?
我想用自己的旧版本替换我的整个分支。我该怎么做呢?
我完全了解反向合并命令,但该命令将完全忽略任何不属于导致我之后的修订号的提交的文件。
例如:
假设我们有一个这样的项目:
项目 "My project" - 分支 2.x
- Hello.java
- World.java
现在如果我们这样进行:
- 分支从修订版 100 开始(提醒一下,分支的初始提交**不包含更改日志中的任何文件**)。
- 我们添加了一个新文件,World.java,并达到修订版 101。
- 我们修改文件 Hello.java 并达到修订版 102。
- 我们意识到修订版 101 和 102 存在缺陷,因此我们想回到修订版 100。
如何将项目 "My project" 的分支 2.0 回滚到修订版 100?
如果我尝试执行反向合并,则不会发生任何事情,因为分支的初始提交不包含任何更改的文件。
有没有关于反向合并我不明白的地方?在我看来滚动没有办法将整个项目回滚到特定版本,无论是否在该版本中更改了某些文件。
回滚 范围 的 "flawed" 修订。
svn merge -r 102:100 .
svn commit -m "Rollback the branch 2.0 to revision 100"
阅读 Subversion 红皮书 Undoing Changes 部分。
我想用自己的旧版本替换我的整个分支。我该怎么做呢?
我完全了解反向合并命令,但该命令将完全忽略任何不属于导致我之后的修订号的提交的文件。
例如:
假设我们有一个这样的项目:
项目 "My project" - 分支 2.x
- Hello.java
- World.java
现在如果我们这样进行:
- 分支从修订版 100 开始(提醒一下,分支的初始提交**不包含更改日志中的任何文件**)。
- 我们添加了一个新文件,World.java,并达到修订版 101。
- 我们修改文件 Hello.java 并达到修订版 102。
- 我们意识到修订版 101 和 102 存在缺陷,因此我们想回到修订版 100。
如何将项目 "My project" 的分支 2.0 回滚到修订版 100?
如果我尝试执行反向合并,则不会发生任何事情,因为分支的初始提交不包含任何更改的文件。
有没有关于反向合并我不明白的地方?在我看来滚动没有办法将整个项目回滚到特定版本,无论是否在该版本中更改了某些文件。
回滚 范围 的 "flawed" 修订。
svn merge -r 102:100 .
svn commit -m "Rollback the branch 2.0 to revision 100"
阅读 Subversion 红皮书 Undoing Changes 部分。