Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn Subversion-在删除/重新创建目录后协调更改_Svn_Tortoisesvn - Fatal编程技术网

Svn Subversion-在删除/重新创建目录后协调更改

Svn Subversion-在删除/重新创建目录后协调更改,svn,tortoisesvn,Svn,Tortoisesvn,我有一个更新文件夹内容的过程,删除整个文件夹,重新创建它,然后填充文件。不幸的是,这会删除.svn文件夹,这会使svn不高兴。我可以使用什么过程来删除文件夹、写入一些文件,然后告诉svn重新消除差异(即,识别我创建了一些同名但内容更新的文件、一些文件不再存在、添加了新文件)?解决方案也应该适用于子文件夹,因为这些子文件夹将在该过程中被删除/重新创建。您必须自己编写脚本/代码 或者:备份所有的.svn文件夹,并在完成3次备份后将它们放回原位。党已经做了自己的事情,或保持2。在附近工作复制并复制1中

我有一个更新文件夹内容的过程,删除整个文件夹,重新创建它,然后填充文件。不幸的是,这会删除.svn文件夹,这会使svn不高兴。我可以使用什么过程来删除文件夹、写入一些文件,然后告诉svn重新消除差异(即,识别我创建了一些同名但内容更新的文件、一些文件不再存在、添加了新文件)?解决方案也应该适用于子文件夹,因为这些子文件夹将在该过程中被删除/重新创建。

您必须自己编写脚本/代码

或者:备份所有的.svn文件夹,并在完成3次备份后将它们放回原位。党已经做了自己的事情,或保持2。在附近工作复制并复制1中的所有文件。工作副本3。党已经更新

然后,找到所有已删除且状态为svn的文件,即标记为“D”的文件,并在这些文件上发布svn rm。找到所有具有svn状态、标记为
的新文件,然后svn添加这些文件


最后运行svn commit。

您对要查找的内容有点困惑。如果您有一个创建文件夹和数据的流程,为什么要将文件夹和子文件夹存储在Subversion中?Subversion应该只针对源代码,而不是生成的内容

我希望有更多的解释你在做什么和为什么

我们有人用来维护源代码中的HTML文件。Robohelp从MS Word文档生成HTML文件。当它进行重新生成时,文件名、大小和目录可能会发生更改,即使是最微小的更改。旧方法是删除所有内容并重新读取。这对科技作家来说是很难做到的,并且在一次颠覆版本中产生了数千次变化

最后,我们将Word文档文件存储在Subversion中。生成的HTML已被删除。但是,我们确实存储了一个包含所有HTML的ZIP(因为我们的Unix构建过程无法从Robohelp生成HTML)。当重新生成一组新的帮助文件时,技术编写人员只需将其压缩并替换Subversion存储库中的zip文件。不再进行大规模的添加和删除


您是否试图将某人正在进行的工作从Subversion同步到Subversion?例如,有人通过
svn export
下载文件,完成他们的工作,您的工作就是签入所有更改。在这种情况下,您应该编写一个小脚本,将目录#1中的所有内容与目录#2中的所有内容进行比较,并以这种方式进行更改。我相信我们三次就做到了。第一次,删除目录1中不在目录2中的所有内容,然后添加目录2中不在目录1中的所有内容。最后,对目录#1和目录#2中的所有文件进行比较,并提交这些更改

为什么要删除并重新创建,而不只是更新?这个用例是什么?第三方软件通过删除/重新创建来进行更新,所以我无法控制这个过程。在高层,该软件正在更新“插件”,其中每个插件都包含在一个文件夹中(子文件夹包含特定于插件的代码/数据等),这是一个很好的问题。在不涉及血淋淋的细节的情况下,通过我的构建过程(主要是从性能/可靠性角度)更新这些文件夹是一件非常痛苦的事情。更新本身需要一些护理,有时由于提供商站点的连接而失败,如果失败,则必须通过文本文件解析检测错误!)换句话说,它不是我希望在每次构建时都运行的东西,而是我将在本地计算机上不时运行的一个进程,并签入更改。@SFun28:您看过了吗?如果您与存储库的连接不良,则Subversion会出现问题,这需要中央repo。Git没有。Git SVN允许您在与Subversion服务器交谈时在本地使用Git。不确定这可能对您有什么帮助,但可能会有所帮助。@SFun28:Subversion
svn co
svn export
怎么样?您可以将
svn导出
目录复制到
svn签出
one上。这将允许您进行大规模更改,但副本不会触及
.svn
文件(因为导出时不会有这些文件)。连接问题是第三方提供商的问题,而不是我自己的存储库,但我一直在探索git相对于svn的优势。关于svn导出的好主意!!!这就是解决办法!