如何自动从SVN仓库自动移动文件夹/文件?

时间:2011-06-06 13:27:59

标签: svn tree directory

我是第一次使用SVN,所以这可能是一个基本问题。

应用即时使用svn,问题是应用程序的一个任务是自动添加/删除文件夹/文件;当我提交时,我想用当前文件夹树更新存储库。

我看到了如何使用svn add -f myapp/*添加所有已创建的文件/文件夹,但如果删除已存储在存储库中的文件夹,则会出现错误:svn: Directory '/myapp/folder' is missing

如何告诉SVN在提交期间从repo中删除丢失的文件夹/文件?

我知道svn有remove命令,但每次删除时都会使用headcache。

更新:感谢jon的链接,我发现这个命令:svn rm $( svn status [LOCAL_COPY_PATH] | sed -e '/^!/!d' -e 's/^!//' ) [LOCAL_COPY_PATH]满足了我的需求。

2 个答案:

答案 0 :(得分:1)

您应该始终使用svn delete而不是仅仅从回购中删除文件夹/文件。话虽如此,看起来有人写了一个脚本来做到这一点:

svn commit missing file automatically

答案 1 :(得分:0)

你需要构建你的提交,没有办法解决它。 SVN以不同的方式处理已删除文件和已删除文件夹。如果删除目录中的文件,该文件夹将被标记为已修改。如果您之后删除该文件夹,您将遇到上述问题。现在可能会发生这种情况,特别是如果你暂时不提交。

我的建议是首先使用svn update恢复文件夹,使用“svn rm”正确删除,然后提交。