如果您使用PHP(或者我猜任何编程语言)并使用subversion作为源代码控制,那么有没有办法获取您的项目(例如):

C:\\项目\\测试\\ .svn文件
C:\\项目\\测试\\文档\\
C:\\项目\\测试\\ faq.php
C:\\项目\\测试\\ guestbook.php
C:\\项目\\测试\\的index.php
C:\\项目\\测试\\ test.php的

并构建/复制/不管它如何删除某些文件并成为:

C:\\项目\\测试\\ faq.php
C:\\项目\\测试\\ guestbook.php
C:\\项目\\测试\\的index.php

自动? 我厌倦了创建一个分支,然后通过分支并删除所有“.svn”文件夹,docs目录和我的原型文件。

我知道我可能会使用.bat文件来复制我想要的特定文件,但是我希望有一些方法可以使用subversion来对伪文件进行排序,然后它仍会对它进行版本化,但是你可以在哪里制作项目的快照,忽略您告诉它伪随机的文件。

我知道我在网上读过一些关于某些功能的内容,至少可以让你在没有.svn文件夹的情况下复制,但我现在找不到它。

===============>>#1 票数:6 已采纳

如果使用TortoiseSVN,则可以使用导出功能自动删除所有.svn文件。 我认为其他的svn事物具有相同的功能。

右键单击根项目文件夹,然后选择TortoiseSVN > Export ,并告诉它你想要.svn免费目录的位置。

===============>>#2 票数:2

第一次手动或使用现有方法复制所有文件。 然后,因为我认为你是在Windows平台上,安装SyncToy并在订阅方法中配置它,这将有效地单向复制自上次伪提交以来为生产中的文件生成的更改。 如果要添加文件,只需手动复制即可恢复SyncToy操作。

===============>>#3 票数:1

好的,所以我的最终解决方案是:

使用export命令导出到名为“export”的文件夹,该文件夹位于与名为“deploy.bat”的文件相同的目录中,然后运行部署脚本(v1代表版本1,这是我目前使用的版本project)这个脚本使用7-Zip,我把它放在我的系统路径上,这样我就可以将它用作命令行实用程序:

rem replace the v1 directory with the export directory
rd /s /q v1
move /y export\newIMS v1
rd /s /q export

rem remove the prepDocs directory from the project
rd /s /q v1\prepDocs

rem remove the scripts directory from the project
rd /s /q v1\scripts

rem remove individual files from project
del v1\.project
rem del v1\inc\testLoad.html
rem del v1\inc\testInc.js

SET /P version=Please enter version number:

rem zip the file up with 7-Zip and name it after whatever version number the user typed in.
7z a -r v%version%.zip v1

rem copy everything to the shared space ready for deployment
xcopy v%version%.zip /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\v%version%.zip"
xcopy v1 /s /q /y /i "Z:\IT\IT Security\IT Projects\IMS\currentVersion"

rem keep the window open until user presses any key
PAUSE

我没有时间查看SyncToy解决方案,所以不要因为我拒绝这种方法。 我只是知道如何做到这一点,并没有时间检查那个(现在时间紧缩)。

资料来源:

http://commandwindows.com/command2.htm
http://www.ss64.com/nt/

  ask by cmcculloh translate from so

未解决问题?本站智能推荐: