2013-07-23 94 views
2

如何在每次提交時將最新版本的項目文件獲取到另一個文件夾?將Visual SVN與IIS同步用於Web開發(或任何其他文件夾)

我正在使用VisualSVN服務器,我認爲我們可以在後掛鉤中進行此操作,但我不知道如何。服務器在Windows上。

其實我需要把文件的最新版本放到IIS7的\www文件夾中。簡單地說,獲取最新的文件到另一個文件夾。

+0

所以你的腳本上面沒有做任何事情?是你的svn.exe處理最新版本到你的www文件夾的複製嗎? – mavili

+0

該代碼無所作爲,如果我在命令提示符上運行它正在工作。但在提交時,它不起作用。 –

回答

3

我在post-commit hook中添加了以下代碼(用於將最新版本文件複製到D:\Destination)。

svn export --force file:///D:/Repositories/myproject D:\Destination 
exit 2 

它適用於我。

如果您試圖將其導出到網站目錄,則需要更改目錄權限。 Visual SVN正在使用NETWORK SERVICE。

1

如果您在版本庫中的多個單個文件夾中使用相同的文件,並且Subversion版本是1.6或更高版本,則可以使用svn:externals文件類型,而不綁定到修訂版本。

在這種情況下致力於源文件會在目標的工作副本更新後通常svn up

+0

謝謝。 我是svn的新手,我需要更新每個提交的www文件夾中的文件。它如何做到這一點?這也是在Windows中。 :) –

+0

我已經更新了這個問題,請檢查它。 –

1

,但我不知道該怎麼

你正確地說,你必須這樣做通過提交後,但如果你的意思是你不知道這個過程,這裏是如何。

你的post-commit hook是一個腳本,在每次提交SVN倉庫中的一個項目之後調用。在每個存儲庫的hooks文件夾中都有一個名爲post-commit的文件。更改文件以包含必要的命令*爲您進行復制並將其設置爲可執行文件post-commit.exe

之後,每次提交新版本時,該腳本都會爲您處理。 *通過必要的命令,我的意思是,要麼通過Windows cmd提示符進行復制,要麼通過調用另一個腳本來執行post-commit.exe以內的作業。

另外,儘管SVN文檔提到post-commit鉤子需要是.bat.exe文件,但我的機器上只有它的.exe纔有效。

您可以使用工具herehere.bat文件轉換爲二進制文件.exe。第二個更方便用戶使用。我希望它有幫助。

+0

ys @mavili,這個我也在做...可能是命令是錯誤的。你能幫我檢查一下嗎? –

+0

對不起:(我從來沒有使用過Windows shell命令 – mavili

+0

@MansoorkhanCherupuzha,但是你在你的評論中說,運行這個腳本時它自己運行,但是沒有提交,對吧? – mavili

相關問題