如何删除基于颠覆的文件?

我有一个名为“Y”的文件夹,不保存在版本控制中。 我有一个在版本控制下的文件夹“x”。 我想将y复制到x ,因为那样我可以在文件夹x上使用Tortoisesvn Check for Modifications命令

然后,我可以假定每个读取Non-versionedIgnored文件/文件夹都可以安全地删除。 因为我的WC在没有他们的情况下一直工作正常。

如何添加Subversion标记的文件列表来创build批处理脚本?

更新。

我已经相当远了,我想我只需要一种方法来实现这一点。

我把y复制到了x中。 我跑了检查修改。 我可以右键单击对话框并将path复制到剪贴板。 我只selectUnversioned或忽略的文件。

我将path粘贴到一个batch file中。 我使用一些查找和replace魔法来创build这个。

 XCOPY www.root\* www.root.backup /I /Q /R /S /E CD www.root DEL "Appraisals\*.*" /q /s DEL "jobs\Backup\*.*" /q /s DEL "New\Portability\BACKUP\*.*" /q /s DEL "Footer\Codes\*.*" /q /s DEL "QL\Commercial\*.*" /q /s DEL "images\Discard\*.*" /q /s DEL "Dup SH Pages\*.*" /q /s DEL "ExtensionRequest\*.*" /q /s DEL "ExtFile\*.*" /q /s DEL "Ad\Include\*.*" /q /s DEL "Bio\Include\*.*" /q /s DEL "Contact\Include\*.*" /q /s 

更新#2

我用类比和例子更好地工作,所以这里是场景,我想要的结果是什么。

请想象我的回购中有一个非常简单的树干。 它只有一个文件code.txt我做了我的变化,该文件,提交回到回购。 在更改提交回购后,我只将该文件从回购库导出到生产。

现在设想一些其他的开发者来,不要跟我说话。 他们直接复制到生产服务器的各种文件。

copy of code.txt
bob's copy of code.txt_backup
copy of copy of copy of bob's copy of code.txt_backup.backup

现在想象一下,我意识到这一点,并决定保护他们的代码在subverion。 我把它添加到我的回购和承诺。 现在,随着时间的推移,我意识到copy of copy of copy of bob's copy of code.txt_backup.backup实际上是生产的一部分,另外两个文件是垃圾。

我从我的WC中删除copy of code.txt的文件copy of code.txt bob's copy of code.txt_backup并提交。 我也对code.txt进行了一些code.txt 。 我承诺。

现在,当我比较以前的修订版本,并做出口乌龟将导出更改的文件(S)。

所以现在我有两个文件在生产中成为孤儿。 我想要一个脚本从生产中删除它们,因为它们不在Subversion的头部。

现在想象一下如果你有5300个文件和文件夹。 ….呼。

如果我正确理解你的问题,你只需要将y的内容复制到签出x中。

然后,用Windows资源管理器打开x。 由于你的电脑上已经安装了乌龟svn,所以不在版本下的文件会被标记成一个蓝色的图标,用红色的图标修改,没有修改成绿色的图标。

那是你在找什么?

编辑

我只是有另一个想法:

  1. 创建一个Y的副本。
  2. 遍历X的所有文件f。
  3. 删除Y中的所有f

最后Y将包含不在X中的文件,这是你想要的,不是? 然后,可以在将Y添加到X之后从X中删除它们。