[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: post-commit question/issue

From: David Ferguson <ferguson.david_at_gmail.com>
Date: 2007-05-01 20:49:08 CEST

Try using absolute paths to mailer.py and mailer.conf. I don't think you
can be guaranteed in which path Subversion will execute your post-commit
script. So if you put mailer.py and mailer.conf in your repository's hooks
directory, the following should work:

$REPOS/hooks/mailer.py commit "$REPOS" "$REV" $REPOS/hooks/mailer.conf

On 5/1/07, Jeff Lanzarotta <delux256-subversion@yahoo.com> wrote:
>
> Here is is...
>
> ----------8<----------
>
> #!/bin/sh
> # POST-COMMIT HOOK
> #
> # The post-commit hook is invoked after a commit. Subversion runs
> # this hook by invoking a program (script, executable, binary, etc.)
> # named 'post-commit' (for which this file is a template) with the
> # following ordered arguments:
> #
> # [1] REPOS-PATH (the path to this repository)
> # [2] REV (the number of the revision just committed)
> #
> # The default working directory for the invocation is undefined, so
> # the program should set one explicitly if it cares.
> #
> # Because the commit has already completed and cannot be undone,
> # the exit code of the hook program is ignored. The hook program
> # can use the 'svnlook' utility to help it examine the
> # newly-committed tree.
> #
> # On a Unix system, the normal procedure is to have 'post-commit'
> # invoke other programs to do the real work, though it may do the
> # work itself too.
> #
> # Note that 'post-commit' must be executable by the user(s) who will
> # invoke it (typically the user httpd runs as), and that user must
> # have filesystem-level permission to access the repository.
> #
> # On a Windows system, you should name the hook program
> # 'post-commit.bat' or 'post-commit.exe',
> # but the basic idea is the same.
> #
> # The hook program typically does not inherit the environment of
> # its parent process. For example, a common problem is for the
> # PATH environment variable to not be set to its usual value, so
> # that subprograms fail to launch unless invoked via absolute path.
> # If you're having unexpected problems with a hook program, the
> # culprit may be unusual (or missing) environment variables.
> #
> # Here is an example hook script, for a Unix /bin/sh interpreter.
> # For more examples and pre-written hooks, see those in
> # the Subversion repository at
> # http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and
> # http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/
>
> REPOS="$1"
> REV="$2"
>
> ./mailer.py commit "$REPOS" "$REV" mailer.conf
>
> ----------8<----------
>
> I am running Subversion 1.4.3 under openSUSE 10.1
>
>
>
>
> --- Andrew R Feller <afelle1@lsu.edu> wrote:
>
> > Hello Jeff,
> >
> > Could you post your post-commit script please? Also, please note the
> > following from the Subversion book:
> >
> >
> ========================================================================
> > ====
> > For security reasons, the Subversion repository executes hook
> > programs
> > with an empty environment-that is, no environment variables are set
> > at
> > all, not even $PATH (or %PATH%, under Windows). Because of this, many
> > administrators are baffled when their hook program runs fine by hand,
> > but doesn't work when run by Subversion. Be sure to explicitly set
> > any
> > necessary environment variables in your hook program and/or use
> > absolute
> > paths to programs.
> >
> ========================================================================
> > ====
> >
> > Trust me; this gets a lot of us! (v_v;)
> >
> > Thanks,
> > A-
> >
> > Andrew R Feller, Analyst
> > University Information Systems
> > Louisiana State University
> > afelle1@lsu.edu
> > (office) 225.578.3737
> >
> > -----Original Message-----
> > From: Jeff Lanzarotta [mailto:delux256-subversion@yahoo.com]
> > Sent: Tuesday, May 01, 2007 12:53 PM
> > To: Subversion Mailing List
> > Subject: post-commit question/issue
> >
> > Hello,
> >
> > I am trying to get the post-commit hook to email a list of developers
> > when it is fired. I believe I have everything setup correctly,
> > because
> > I can type the following in on the command line when I am in the
> > hooks
> > directory:
> >
> > './post-commit /svn/repositories/develop 136'
> >
> > and an email is sent for revision 136.
> >
> > My problem is that the post-commit hooks is not firing automatically.
> > Any ideas?
> >
> > Thanks.
> >
> > -Jeff
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>
Received on Tue May 1 20:49:28 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.