Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SVN::Notify::Snapshot(User Contributed Perl DocumentatSVN::Notify::Snapshot(3)

       SVN::Notify::Snapshot - Take snapshots from Subversion activity

       This document describes version 0.04 of SVN::Notify::Snapshot, released
       June 28,	2008.

       Use svnnotify in	post-commit:

	 svnnotify --repos-path	"$1" --revision	"$2" \
	   --to	"/tmp/snapshot-$2.tar.gz" --handler Snapshot \
	   [--append-rev] --handle-path	pathname [options]

       or as part of a SVN::Notify::Config YAML	file:

	 #!/usr/bin/perl -MSVN::Notify::Config=$0
	 --- #YAML:1.0
	   PATH: "/usr/local/bin:/usr/bin"
	   handler: Snapshot
	   append-rev: 1
	   to: "/srv/www/htdocs/snapshot.tgz"

       Produce snapshots of a repository path.	Typically used as part of a
       postcommit script, which	will automatically e.g.	a trunk-latest.tar.gz
       file for	every commit to	a specified path.

       As a subclass of	SVN::Notify, there are several ways to integrate this
       module into your	postcommit script:

       1. postcommit script
	   Add a line to an existing postcommit	script that sets the
	   "--handler" commandline option to "Snapshot".  This method has the
	   drawback that it will require multiple Perl interpreters to start
	   up (one per handler line), which will delay the commit from
	   completing on the client.  Unless you use "--to-regex-map", it will
	   also	mean that each line will be called for each revision
	   committed, even if the path of interest hasn't changed.

       2. SVN::Notify::Config stanza
	   Multiple handlers can be configured in a single SVN::Notify::Config
	   YAML	file, which acts both as the configuration data	as well	as the
	   postcommit script itself.  This method also ensures that the
	   Snapshot handler will only be called	when a change is made to the
	   associated path (like "--to-regex-map" in the commandline case).

       In addition to all of the options available to the base SVN::Notify
       class, there are	several	that are specific to the Snapshot handler.

       o   handle-path

	   This	commandline argument specifies the portion of the repository
	   to take snapshot from, is not optional.  It will be automatically
	   set when using either "--to-regex-map" or when executed within a
	   SVN::Notify::Config script, however.

       o   snapshot-base

	   By default, the base	path inside the	snapshot will be the basename
	   of the "--to" argument, but you may override	it with
	   "--snapshot-base".  For example, if you are taking a	snapshot of
	   "project1/trunk", you may want to set the snapshot-base to
	   "project1" instead.

       o   append-rev

	   If you are passing both the "--revision" and	"--to" arguments to
	   svnnotify on	the commandline, you can always	construct the filename
	   to include the revision by using shell substitution variables (like
	   the example in the SYNOPSIS.	 However, if you are using a YAML
	   config file or the "--to-regex-map" commandline option, you may
	   want	to use the "append-rev"	option,	which will insert a hyphen and
	   the revision	into the destination filename between the basename and
	   the suffix.

	   For example,	in the SYNOPSIS	above, the YAML	stanza will generate
	   files like:


	   assuming that the "/project1/trunk" changed in revs 1, 5, and 6.

       John Peacock <>

       Autrijus	Tang <>

       SVN::Notify, SVN::Notify::Config

       No bugs have been reported.

       Please report any bugs or feature requests to
       "", or through the web interface at

       Copyright (c) 2007-2008 John Peacock <>.

       Portions	copyright 2004 by Autrijus Tang	<>.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See <>

perl v5.32.1			  2021-11-05	      SVN::Notify::Snapshot(3)


Want to link to this manual page? Use this URL:

home | help