【发布时间】:2011-06-24 00:58:50
【问题描述】:
我为自己的基于 SQL 和 Subversion 的程序编写了一个部署工具。
我能够创建不同版本的应用程序并使用 Subversion 存储它们,而这些信息存储在 SQL 中。
直到我的“部署工具”工作得很好,但现在我发现了一个问题。
在创建应用程序的版本时,我会检查头部修订并在我的程序中将其可视化。 然后可以通过删除、重命名、添加或覆盖文件和文件夹来编辑最新版本。
假设我的工作副本中有以下树结构:
- ProgramFiles
- Assemblies
- Data
- Type 1
- ...
- Type 2
- ...
- Type 3
- ...
我想替换一个目录(数据)。这会调用 svn delete,然后调用 Directory.Delete,因为“svn delete”只是在您进行提交时将文件夹标记为删除。
现在我想再次添加一个名为“Data”的文件夹,其中包含新的子文件夹和文件,但随后出现异常“缺少工作副本管理区域”。
据我所知,问题在于 ProgramFiles 下的目录 .svn 存储了文件夹 Data 应被删除的信息,如果我读取此文件夹,它会崩溃。
我也知道我可以在添加文件夹之前提交,但这会增加我的“非稳定版本”的修订号。
我该如何解决这个问题?
【问题讨论】:
标签: svn sharpsvn working-copy