Domanda

Il mio gancio post-commit non viene mai attivato e penso che sia perché
Ci sono alcune autorizzazioni del filesystem che devo impostare.

Ho VisualSVN-Server-2.5.2 installato ed eseguendo Eclipse con pluggin Subversion.

Tutto funziona come previsto tranne per il gancio di VisualSVN.

Questo è il mio file post-commit.cmd con il nome "post-commit.cmd"

C:\PROGRA~2\VISUAL~1\bin\myScript.cmd 
exit 0

Aggiornamento 1Quando metto il testo "start" in questo modo, la finestra di commit si blocca con una barra verde di progresso pulsante, come se aspettasse il gancio di gancio o un po '. Non posso
Annulla l'operazione di impegno ma posso chiudere l'eclissi e quindi la finestra di commit.

start C:\PROGRA~2\VISUAL~1\bin\post-commit.cmd
exit 0

Aggiornamento 2

Funziona se un repository salva l'HDD locale. È quando Save-Path è per la rete che non funziona. Ok, è un passo avanti. Il file del bagno necessita di qualche utente/password forse

Ecco il file BAT che salva il repository su HDD locale (grazie a Christopher C. Simmons (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 

L'idea è di lanciare uno script più grande myscript.cmd witch sta facendo la hotcopy di
il mio repository. Funziona se avvio manualmente il post-commit.cmd

Leggendo il manuale quiVisualsvn.com

Non riesco a capire cosa fare praticamente riguardo a questo testo di seguito.

"La sovversione esegue i ganci come lo stesso utente che possiede il processo che sta accedendo al repository di sovversione. Nella maggior parte dei casi, il repository viene accessibile tramite un server di sovversione, quindi questo utente è lo stesso utente di cui il server esegue sul sistema. Il sistema. I ganci stessi dovranno essere configurati con autorizzazioni a livello di sistema operativo che consentono all'utente di eseguirli. Inoltre, ciò significa che qualsiasi programma o file (incluso il repository di sovversione) si accede direttamente o indirettamente dal gancio sarà accessibile come lo stesso utente. In altre parole, sii attento ai potenziali problemi relativi all'autorizzazione che potrebbero impedire al gancio di eseguire le attività che è progettato per eseguire ".

AGGIORNARE Permission to set

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top