Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
Windows 使SVN工作文件夹与存储库版本相同_Windows_Svn_Build Process_Svn Export - Fatal编程技术网

Windows 使SVN工作文件夹与存储库版本相同

Windows 使SVN工作文件夹与存储库版本相同,windows,svn,build-process,svn-export,Windows,Svn,Build Process,Svn Export,我基本上想做一个SVN导出作为脚本构建过程的一部分,但不必每次都从头开始获取整个repo,这很慢而且占用带宽。。。更不用说,如果每次我们调整脚本或发现脚本中的输入错误时都这样做,那么测试脚本将是一件非常痛苦的事情 是否有一种明显的方法可以将文件导出到现有目录中,从而只提取不同的文件,并删除非repo文件,这基本上提供了一个干净的导出,但以一种智能的方式完成 Windows是首选,但我想Cygwin是一个选项。我认为完成这项工作的唯一方法是签出一个工作副本,并更新和还原它。更新WC只会得到更改 s

我基本上想做一个SVN导出作为脚本构建过程的一部分,但不必每次都从头开始获取整个repo,这很慢而且占用带宽。。。更不用说,如果每次我们调整脚本或发现脚本中的输入错误时都这样做,那么测试脚本将是一件非常痛苦的事情

是否有一种明显的方法可以将文件导出到现有目录中,从而只提取不同的文件,并删除非repo文件,这基本上提供了一个干净的导出,但以一种智能的方式完成


Windows是首选,但我想Cygwin是一个选项。

我认为完成这项工作的唯一方法是签出一个工作副本,并更新和还原它。更新WC只会得到更改


svn导出不知道更改了哪些文件,要比较文件,首先必须获取所有文件。此外,从“导出”目录中删除或重命名的文件也很难获取。

我认为完成此操作的唯一方法是签出一个工作副本,并更新和还原该副本。更新WC只会得到更改


svn导出不知道更改了哪些文件,要比较文件,首先必须获取所有文件。此外,很难从“导出”目录中获取已删除或重命名的文件。

签出工作副本,然后从工作副本中导出。 然后,工作副本上的SVN更新将是快速和轻松的。 然后可以删除原始导出并从工作副本重新导出

所有需要带宽的操作都得到了优化。繁重的删除和重新创建与以前一样,但现在都是本地的,所以应该快得多


此外,您可以选择对导出的工作副本进行更改,但您可能需要小心,并考虑在您的VPN更新期间发生冲突的影响。

< P>检查工作副本,然后从您的工作副本导出。 然后,工作副本上的SVN更新将是快速和轻松的。 然后可以删除原始导出并从工作副本重新导出

所有需要带宽的操作都得到了优化。繁重的删除和重新创建与以前一样,但现在都是本地的,所以应该快得多


此外,您可以选择对导出的工作副本进行更改,但您可能需要小心,并考虑在您的VPN更新期间发生冲突的影响。

< P>我不确定是否正确理解了您的问题。换个说法。我认为您希望定期更新回购协议本地副本。但是,您希望工作副本保持原样,以便生成的生成是干净的。考虑到这是你的问题,下面是我的建议

据我所知,svn导出可能不是最好的选择。因为svn导出的目的是获取svn回购的未版本工作副本。由于它是未版本化的,svn客户机不会真正知道从何处开始更新

我能想到的最好的选择就是这个。在某个位置签出回购协议副本(本地副本,LC)。此LC应在构建过程中更新。在不同位置制作LC的副本,并将其用于执行构建。下面是您需要的命令

1. svn update <arbitrary path>(in the working copy)
2. copy <arbitrary path> <build path>
3. find <build path> -type 'd' -name '.svn' (if you would like to remove the .svn hidden files, but they are not going to really hurt the build process)
1。svn更新
http://www.techsupportalert.com/best-free-folder-synchronization-utility.htm


我不确定我是否正确理解你的问题。换个说法。我认为您希望定期更新回购协议本地副本。但是,您希望工作副本保持原样,以便生成的生成是干净的。考虑到这是你的问题,下面是我的建议

据我所知,svn导出可能不是最好的选择。因为svn导出的目的是获取svn回购的未版本工作副本。由于它是未版本化的,svn客户机不会真正知道从何处开始更新

我能想到的最好的选择就是这个。在某个位置签出回购协议副本(本地副本,LC)。此LC应在构建过程中更新。在不同位置制作LC的副本,并将其用于执行构建。下面是您需要的命令

1. svn update <arbitrary path>(in the working copy)
2. copy <arbitrary path> <build path>
3. find <build path> -type 'd' -name '.svn' (if you would like to remove the .svn hidden files, but they are not going to really hurt the build process)
1。svn更新
http://www.techsupportalert.com/best-free-folder-synchronization-utility.htm


另一个选项是使用签出和恢复/更新,但也可以使用SharpSvn库之类的工具来创建一个脚本,该脚本将删除非源代码控制的文件。这样,编译代码之类的构建构件将被删除,版本化文件将通过恢复/更新返回到基本状态


如果你有很多目录和文件,扫描可能会很慢,但是,如果您对包含构建工件的目录有信心,可以只扫描这些目录。

另一个选项是使用签出和恢复/更新,但也可以使用类似于SharpSvn库的内容来创建一个脚本,该脚本将删除非源代码控制的文件。这样,编译代码之类的构建构件将被删除,版本化文件将通过恢复/更新返回到基本状态


如果你有很多目录和文件,这个扫描可能是慢的,但是如果你对目录包含什么有信心,构建工件就可以扫描那些。如果WC中的其他东西也会被复制,那么导出命令只会查看实际上在VSN控制下的文件,而忽略其他所有的东西。或者,如果WC中有其他内容,那么该内容是否也会被复制?export命令将只查看实际上在svn控制下的文件,而忽略其他所有内容。