2009-12-21 49 views
0

我正在创建一个批处理文件(在Windows Vista上)以将我的项目从开发部署到我们的登台服务器。我现在的代码是:自动删除Subversion标签按日期

:: Copy files from development to staging 
robocopy \\local\file\path \\staging\file\path /MIR /Z /XD .svn /NFL /NDL /XF *.cs *.sln *.csproj *.suo *.resx *.user *.sln.cache 
:: Create a new SVN tag in the format 'Staging_vYYYY.MM.DD.HH.MM' 
svn copy http://repo:8080/svn/project/trunk http://repo:8080/svn/project/tags/Staging_v%date:~-4,4%.%date:~-10,2%.%date:~-7,2%.%time:~-11,2%.%time:~-8,2% --username ##### --password ##### -m "Tag for newest version on staging" --force-log 

对于每次推送到分段/ qa,它都会在subversion中创建一个新的标签。我想保留一些历史,但我不想陷入我的标签目录。理想情况下,我希望批处理文件也可以删除“旧”标签 - 比一个月更早 - 不要将硬盘空间浪费在不需要的备份上。

有没有办法做到这一点?有没有更好的方法来创建一个一步的部署过程?

回答

2

Subversion标签是'浅'副本;他们除了给一个特定的资源库状态一个新的名字之外别无它物。他们根本没有花费太多的磁盘空间 - 当然不是完整的结账价值。

这就是说,你可以用svn rm,删除任何其他SVN URL以同样的方式删除标签;您可以通过检查每个标签上的svn info的内容来选择要删除的内容。

+0

嗯,所以我试图解决的问题其实不是问题。我最喜欢的一种解决方案。 – 2009-12-21 21:38:31