我的post-commit掛鉤永遠不會被觸發,我認爲這是因爲
我需要設置一些文件系統權限。如何在win7中設置VisualSVN post-commit掛鉤64bit
我安裝了VisualSVN-Server-2.5.2並運行帶Subversion插件的eclipse。
除VisualSVN掛鉤觸發外,所有工作都按預期工作。
這是我的後commit.cmd文件與1 當我把這樣的提交窗口中的「開始」文本與凍結名稱「後commit.cmd」
C:\PROGRA~2\VISUAL~1\bin\myScript.cmd
exit 0
UPDATE一個脈動的前進綠色條,就像它在等待鉤子觸發或somehing.I不能
取消提交操作,但我可以關閉日食,然後硬殺提交窗口。
start C:\PROGRA~2\VISUAL~1\bin\post-commit.cmd
exit 0
更新2
它的工作,如果保存庫到本地硬盤。這是當網絡驅動器的保存路徑不起作用時。好吧,這是向前邁進的一步。洗澡文件也需要一些用戶/密碼也許
下面是節約資源庫本地硬盤的bat文件(感謝克里斯託弗C.西蒙斯(CCS))
@ECHO OFF
CLS
:: =================== COPYRIGHT =========================================
:: File: svn_backup.bat
:: Author: Christopher C. Simmons (CCS)
:: Date: 05.01.2008
:: Purpose: To make backups ("hot copies") of multiple SVN repos
:: History: 0.1 Initial Release
:: Assumes: Your path contains: C:\Program Files\Subversion\bin
:: Your repodir contains only repos
:: Copyright: 2008 csimmons.net
::
:: NOTICE!!!
:: csimmons.net, LLC supplies this software AS IS and makes no guarantees
:: for your use of it. csimmons.net, LLC is not responsible for any damage
:: or pain the use of this product may cause you. Please give credit if
:: you use this or create a derivative work.
:: =================== COPYRIGHT =========================================
:: =================== CONFIG ============================================
:: Path of the dir containing your repos [Note Trailing slash]
SET repodir=F:\Repositories\
:: Path of the dir in which to create you hotcopies [Note Trailing slash]
SET repodirhot=f:\druidBACKUP\SVN\
:: Path for log file [Note Trailing slash]
SET logdir=f:\druidBACKUP\SVN\
:: Path for svnadmin [Note Trailing slash]
::SET svnpath=C:\PROGRA~2\VISUAL~1\bin\svnadmin.exe
:: User mode - 1=Interactive | 0=NonInteractive
SET imode=1
:: =================== CONFIG ============================================
:: =================== SCRIPT ============================================
:: !!! NO NEED TO EDIT BEYOND THIS POINT !!!
:: Make a date_time stamp like 030902_134200
SET hh=%time:~0,2%
:: Add a zero when this is run before 10 am.
IF "%time:~0,1%"==" " set hh=0%hh:~1,1%
SET yymmdd_hhmmss=%date:~12,2%%date:~4,2%%date:~7,2%_%hh%%time:~3,2%%time:~6,2%
:: Make a name for the log file
SET repolog=%logdir%%yymmdd_hhmmss%repobackup.log
:: Start log
ECHO START %date% %time% >> %repolog%
:: IF a hotcopy exists delete it first ELSE
:: Create directories and svn hotcopy repos to them
FOR /F %%G IN ('dir /b /ad %repodir%') DO^
IF EXIST %repodirhot%%%G (rmdir /S /Q %repodirhot%%%G & mkdir %repodirhot%%%G >> %repolog% &^
ECHO Starting SVN backup for %%G... >> %repolog% &^
C:\PROGRA~2\VISUAL~1\bin\svnadmin hotcopy %repodir%%%G %repodirhot%%%G --clean-logs >> %repolog% &^
IF %imode%== 1 ECHO FINISHED...%%G)^
ELSE (mkdir %repodirhot%%%G >> %repolog% &^
ECHO Starting SVN backup for %%G... >> %repolog% &^
C:\PROGRA~2\VISUAL~1\bin\svnadmin hotcopy %repodir%%%G %repodirhot%%%G --clean-logs >> %repolog% &^
IF %imode%== 1 ECHO FINISHED...%%G)
:: Finish log
ECHO END %date% %time% >> %repolog%
:: Display log message if interactive mode otherwise EXIT
ECHO Done... Logs available here: %repolog%
if %imode%== 1 pause
:: =================== SCRIPT ============================================
EXIT
的想法是推出一個更大的腳本myScript.cmd女巫正在做
我的存儲庫的hotcopy。這是工作,如果我手動啓動後commit.cmd
閱讀手冊這裏 visualsvn.com
我無法理解,切實做下面關於這是什麼文字。
「Subversion以擁有正在訪問Subversion版本庫的進程的同一用戶身份執行鉤子,在大多數情況下,版本庫通過Subversion服務器進行訪問,因此該用戶與運行服務器的用戶相同系統,鉤子本身需要配置允許用戶執行它們的操作系統級權限,並且這意味着任何直接或者間接被鉤子訪問的程序或者文件(包括Subversion倉庫)都將被訪問爲換句話說,要警惕潛在的與權限相關的問題,這些問題可能會阻止hook執行設計要執行的任務。「
UPDATE
喜埃裏克,你怎麼加的VisualSVN管理員用戶,如圖截圖? –
現在我不記得如果我這樣做。因爲我從來沒有在NAS – Erik
上運行,所以它會工作我知道了。 http://stackoverflow.com/a/17849729/1357033 –