svn - svn 切换后发生了什么以及如何提交本地更改?

标签 svn version-control

我对我的代码做了一些更改,之后我认为代码不适合主干,但我应该尝试一下(使用代码),稍后如果我成功了,我应该继续行李箱。

所以我需要创建一个分支——我在分支中创建了新目录,将svn copy主干复制到新创建的分支,然后转到我的源代码目录并执行svn开关.

此时我不明白发生了什么。当我应用 svn status 时,svn 以类似的方式遍历整个目录,对大多数文件放置 A 字母,但对于目录 C,总之我可以阅读:

Updated to revision 1458.
Summary of conflicts:
Tree conflicts: 6

但是当我检查一些文件时,我发现这些文件(幸运的是)并没有真正从 svn 存储库更新(再一次,在上次提交之后,我对代码进行了更改,然后然后决定分支)。

当我发出 svn status 时,我现在可以看到许多条目信息,例如此目录:

A  +  C testsuite
      >   local edit, incoming delete upon switch

我所做的步骤是我在SO上读到的,并且没有提到这样的问题。那么我现在如何将更改提交到分支(当然我不想删除我的更改)。

更新:我找到了关于SO的部分答案,您可以执行:

svn resolve --accept working ./*

声明本地版本文件为OK。看: https://stackoverflow.com/a/2207119/210342

但这还没有结束,现在我遇到了这个错误:

svn: Did not expect '/media/wdisk/Projekty/MyProject
/MyProject.UnitTests/MetaData' to be a working copy root

更新 2:我没有按照我的意愿解决这个问题。相反,我复制了整个目录(本地目录),删除了所有 .snv 目录,从分支中 checkout 了文件,复制了所有本地文件,然后提交了。这被 SVN 视为常规更改,因此不会引发冲突。

最佳答案

由于您的工作副本包含本地修改,您希望在单独的分支(功能分支 - 分支启动:))中测试它们后提交这些修改,因此在运行 svn switch 命令时,您将得到响应类似于您运行 svn update 时得到的响应,因为 svn switch 还会比较它为您提供的响应的工作副本,就像在 C 中进行的一些更改一样code>(冲突状态)和一些新添加的(A)。

相同的场景描述如下:

http://svnbook.red-bean.com/en/1.6/svn.branchmerge.switchwc.html

Have you ever found yourself making some complex edits (in your /trunk working copy) and suddenly realized, Hey, these changes ought to be in their own branch? A great technique to do this can be summarized in two steps:

$ svn copy http://svn.example.com/repos/calc/trunk \
http://svn.example.com/repos/calc/branches/newbranch \
-m "Create branch 'newbranch'."

Committed revision 353.

$ svn switch ^/calc/branches/newbranch

At revision 353.

The svn switch command, like svn update, preserves your local edits. At this point, your working copy is now a reflection of the newly created branch, and your next svn commit invocation will send your changes there.

关于svn - svn 切换后发生了什么以及如何提交本地更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22603208/

相关文章:

git - SourceTree for Windows - 如何仅在当前功能(分支)中显示我的提交

svn - 在Windows 7计算机上安装哪个svn客户端?

javascript - 将使用 nvm 在项目上设置默认 Node 版本的点文件?

Git 存储库未导出 : fatal: The remote end hung up unexpectedly

html - 如何配置 Apache + SVN webDAV 目录列表

svn - 什么是持续集成构建健康指标?

SVN 忽略子树中的所有文件(不是文件夹),

python - SVN 服务和 PySVN 错误消息 : Expected FS format between '1' and '3' ; found format '4'

java - 使用 maven-release-plugin 的正确工作流程是什么?

c# - 如何在 VSPackage 中找到解决方案使用的版本控制系统