如何修复Subversion / XCode问题

时间:2010-11-20 14:09:29

标签: xcode svn

我在XCode中有一个位于subversion存储库中的Mac项目。

使用svn + ssh在远程服务器上设置Subversion。

我多次尝试将一组嵌套目录添加到我的项目中,并且必须删除并重新添加顶级目录才能使其工作。

这样,我忘记了subversion在项目层次结构的每个级别离开的“.svn”文件,以便跟踪存储库中的签出状态。

我使用了XCode“add to repository”命令将我的子目录的第一个版本添加到我的工作副本中。

现在,当我尝试检查一系列更改时,我得到了一个非常无用的错误:

“错误:155005(工作副本未锁定;这可能是一个错误,请报告)说明:提交失败(详情如下): 错误:155005(工作副本未锁定;这可能是一个错误,请报告)说明:包含工作副本管理区域的目录'/ Development / FractalWorks / FractalWorks Plots / .svn'缺失“

我需要弄清楚如何退出我的添加命令并将我的工作副本放到一个状态,以便我可以检查我对存储库的更改。

我很适合在终端工作并在那里发出svn命令。我还有一个“版本”应用程序的注册版本,虽然我目前没有用它来管理这个项目。

有人可以向我指出一些有关如何清理工作副本的信息,删除我所做的“添加到存储库”命令的痕迹,这样我就可以将文件的最终子目录添加到我的项目并将其转到承诺?

我发现svn不透明且很难导航,手册内容不是很丰富。当工作副本与存储库不同步时,我还没有看到有关如何处理这种情况的任何信息。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

svn revert file-i-added将退出补充说明。

但是,摆脱这种情况的最简单方法就是查看干净的工作副本。你应该做的是:

  1. 将您当前的工作副本移到其他地方。
  2. 在您的工作副本所在的位置查看项目层次结构的干净副本。
  3. 将移动的工作副本中的所有更改复制回新的工作副本。
  4. 执行第三步时,请注意不要将新工作副本中的目录替换为旧工作副本中的目录。复制内容。如果您发现新工作副本中缺少整个目录,则可以递归复制旧工作副本中的目录,然后svn add整个树。但请确保您不复制旧工作副本中的任何.svn目录。实际上,您可能希望在旧的工作副本上运行以下内容(先备份

    find old-working-copy-dir -name '.svn' -type d -exec rm -rf {} \;