How to configure post-commit VisualSVN hooks in win7 64bit

My post-commit never fires, and I think this is because
There are some file system permissions that I need to install.

I have VisualSVN-Server-2.5.2 installed and running eclipse with the Subversion pluggin.

Everything works as expected, with the exception of the VisualSVN trigger.

This is my post-commit.cmd file named "post-commit.cmd"

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

UPDATE 1 when I put the β€œinitial” text like this, the Commit window freezes with a pulsating progress - a green bar, as well as waiting for the trigger to start or some kind of sound. I cannot cancel the commit operation, but I can close the eclipse and then lock the commit window.

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

UPDATE 2

It works if you save the repository on a local hdd. This is when the save path for the network drive does not work. Well, that is a step forward. some user / password is needed for the bath file, maybe

Here's a bat file that saves the repository on local hdd (thanks to Christopher S. 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 

The idea is to run the larger script myScript.cmd, which makes hotcopy from
my repository. This works if I manually run post-commit.cmd

reading manual here visualsvn.com

I can’t understand what to practically do regarding this text below.

"Subversion executes the hooks as the same user who owns the process that accesses the Subversion repository. In most cases, the repository is accessed through the Subversion server, so this user is the same user the server is working with on the system. The hooks will need to be configured OS-level permissions that will allow this user to execute them, which also means that any programs or files (including the Subversion repository) that are directly or indirectly accessible via the hook will be accessed as In other words, beware of the potential problems associated with the resolution of which may interfere with the hook to perform the tasks it is designed to perform.

UPDATE Permission to set

+4
source share
1 answer
  • VisualSVN Server runs under the Network Service account by default or under a special user account (must be created manually).

  • Subversion hooks run under the VisualSVN server service

    ( Network Service or Dedicated Account)

If the hook script works correctly when you start it manually, I advise you to check permissions for the service account. It should have access to "C: \ PROGRA ~ 2 \ VISUAL ~ 1 \ bin \ myScript.cmd" and all other related files.

Also note that before Subversion calls the hook script, it removes all variables from the environment - including% PATH% on Windows. Thus, your script can only run another program if you specify the absolute name of this program.

Subversion Questions: Why are my repository handlers not working?

+4
source

Source: https://habr.com/ru/post/1392374/


All Articles