我有一个名为“Y”的文件夹,不保存在版本控制中。 我有一个在版本控制下的文件夹“x”。 我想将y
复制到x
,因为那样我可以在文件夹x
上使用Tortoisesvn
Check for Modifications
命令
然后,我可以假定每个读取Non-versioned
或Ignored
文件/文件夹都可以安全地删除。 因为我的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
我用类比和例子更好地工作,所以这里是场景,我想要的结果是什么。
请想象我的回购中有一个非常简单的树干。 它只有一个文件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,所以不在版本下的文件会被标记成一个蓝色的图标,用红色的图标修改,没有修改成绿色的图标。
那是你在找什么?
编辑
我只是有另一个想法:
最后Y将包含不在X中的文件,这是你想要的,不是? 然后,可以在将Y添加到X之后从X中删除它们。