2008-08-08 28 views
4

如果您使用PHP(或者我猜是任何編程語言)並使用subversion作爲您的源代碼管理,是否有辦法讓您的項目(例如):使用Subversion製作PHP項目

C:\項目\測試\的.svn
C:\項目\測試\文檔\
C:\項目\測試\ faq.php
C:\項目\測試\ guestbook.php
C:\ Projects \ test \ index.php
C:\ Projects \ test \ test.php

,並建立/複製/不管它,所以它會淘汰某些文件,併成爲:

C:\項目\測試\ faq.php
C:\項目\測試\ guestbook.php
C:\ Projects \ test \ index.php

自動?我厭倦了創建分支,然後通過分支並刪除所有「.svn」文件夾,文檔目錄和我的原型文件。

我知道我大概可以使用一個.bat文件來複制我想要的特定文件,但是我希望有一些方法可以通過顛覆來僞忽略一個文件,它仍然會對它進行版本化,但是在那裏你可以製作一個忽略你告訴它僞裝忽略的文件的項目快照。

我知道我在某處在線閱讀了某些功能,至少可以讓您在沒有.svn文件夾的情況下進行復制,但現在找不到它。

回答

6

如果使用TortoiseSVN,則可以使用導出功能自動去除所有.svn文件。我認爲其他svn的東西具有相同的功能。

右鍵單擊根項目文件夾TortoiseSVN>導出並告訴它你想要.svn免費目錄的位置。

+0

導出功能*應*與任何客戶端,但也就是在命令行客戶工作;這是一個標準功能。 – 2009-08-07 17:55:52

2

這裏有一個古怪的牙齦和鞋帶的想法:

複製所有的手動或使用現有的方法,第一次文件。然後,因爲我認爲你是在Windows平臺上,所以安裝SyncToy並將其配置在subscribe method中,這將有效地單向複製自上次僞提交以來對已生產文件進行生產所做的更改。如果你想添加一個文件,你可以手動複製它並恢復SyncToy操作。

1

好了,我的最終解決方案是這樣的:

使用export命令導出到一個名爲相同的目錄中一個名爲「DEPLOY.BAT」文件「出口」的文件夾,然後我運行部署腳本(v1代表版本1,這是我目前在這個項目中使用的版本)這個腳本使用了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/

相關問題