我不得不将我的受SVN保护的代码恢复到早期版本,然后我对其进行了大量修改。我想将修改后的版本提交给SVN,但是当我尝试提交时,SVN告诉我必须先更新。我不想这样做。
是否可以指定我的本地版本(工作副本)是新的当前版本,而没有来自SVN的更新?
答案 0 :(得分:1)
答案似乎是svn up --accept mine-full
答案 1 :(得分:1)
除了在主干或分支的HEAD
之外,您无法提交更改。这是所有版本控制系统的尝试。否则,人们将覆盖他们想要保留的变化。
您可以做两件事:
让我们再次假设,我检查了修订版11,980,最新版本是12,0001:
$ svn co -r 11980 http://path/to/my/project workdir
$ cd workdir
...a bunch of changes
$ svn commit -m"My changes"
SVN Error: you need to update first...
$ svn copy -r11900 http://path/to/my/project@11900 http://path/to/branches/my_branch/project
现在,我将 base 作为分支工作。现在,我要切换到那个分支:
$ svn switch http://path/to/branches/my_branch/project
我的工作目录位于新分支上,该分支基于我正在处理的旧版本。我的所有更改都未触及开关。我现在可以毫无问题地提交我的更改。
$ svn commit -m"My changes"
$ It worked!
现在,如果我愿意,我可以将我的更改合并回原始项目:
$ svn co http://path/to/my/project workdir2
$ cd workdir2
$ svn merge http://path/to/branches/my_branch/project
答案 2 :(得分:0)
1)将最终代码库备份到硬盘中的其他位置
2)采取更新
3)从SVN中删除所有内容
4)从备份驱动器复制粘贴所有代码库
5)提交
OR
如果有帮助,你可以进行清理,我不这么认为......