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

How to determine the source of a copy

From: Brian Mearns <bmearns_at_ieee.org>
Date: Tue, 30 Mar 2010 13:18:14 -0430

Various client tools seem to know what path and revision a copy was
created from (e.g., Tortoise's revision graph). Can the svn command
line tool get me this information? Is there anyway I can get this from
a hook script?

Here's the context: I want to enforce that all code has gone through
automated tested before being tagged. To do so, I planned to
"pre-submit" tag requests to a gate-keeper, specifying the source path
and revision. The gate-keeper then puts that revision through the
tests, and if it passes, creates a signed authentication token
specific to that path and revision. A pre-commit hook script will
ensure that token is present and valid in the log message before
allowing content to be tagged. For this to be effective, I need the
token to be tied to the tested content. The most direct way I thought
of was to create a string indicating the path and revision that was
tested, and then digitally sign it. But to verify it, I then need my
hook script to be able to identify what path and revision the commit
is copied from, and to verify that there are no modifications included
in the commit. Is this possible?

My work around in the mean time is to use a combination of commands
(ls, cat, proplist) to create a complete dump of the tested content,
then hash and sign that dump. But it's pretty slow and pretty
inelegant. (FYI, I'm not using svadmin dump because my gatekeeper
doesn't necessarily have local access to the repository).

Any suggestions would be great.

Thanks,
-Brian

--
Feel free to contact me using PGP Encryption:
Key Id: 0x3AA70848
Available from: http://keys.gnupg.net
Received on 2010-03-30 19:52:57 CEST

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.