我想删除一个文件夹,然后标记一个新版本,但一直收到错误。
在中继中,我删除了文件夹js/libs
及其所有子文件夹svn rm trunk/js/libs
。
该文件夹下的所有文件都标记为删除。
然后我使用svn cp trunk tags/0.3.7
复制到新标记,同样在tags/0.3.7/js/libs
中所有文件和文件夹都标记为删除。然后,当我尝试使用svn ci -m "v0.3.7"
提交时,当提交到达该文件夹的第一个嵌套文件时,我会收到以下错误:
...
Deleting tags/0.3.7/js/libs
Deleting tags/0.3.7/js/libs/opentype.js/dist/opentype.js
svn: E155011: Commit failed (details follow):
svn: E155011: File '/Users/johannes/Packages/fontsampler-svn/fontsampler/tags/0.3.7/js/libs/opentype.js/dist/opentype.js' is out of date
svn: E160013: '/!svn/txr/1749751-122uf/fontsampler/tags/0.3.7/js/libs/opentype.js/dist/opentype.js' path not found
为什么在标记为删除时会丢失文件?过时的消息让我怀疑回购中是否已有0.3.7标签,但没有。
为什么我不能将此删除提交给新标记?
答案 0 :(得分:1)
好的,根据this answer,在标记版本之前提交一次似乎有一种奇怪的行为。
对我而言,这样解决了:
svn revert tags/0.3.7
- 从当前提交中删除标记 p>
svn ci -m "deleted folder"
- 提交删除
svn up
- 以某种方式同步是必要的
svn cp trunk tags/0.3.7
- 暂存标签
svn ci -m "tagging version 0.3.7"
- 提交新标记