Thanks, Eric. svnlook gave me the clue I needed. I look at its source and found that I had been on the right track using ChangeCollector and replay2, but there was an error in my code. Once I got that fixed, my hook worked.
On Fri, Aug 15, 2014 at 12:59 PM, Eric Johnson <e...@tibco.com> wrote: > I had a similar problem of needing to look for copies. Rather than deal > with the complexity of the API, I simply relied on the "svnlook" command > output. > > Specifically, I used "svnlook --transaction ${tx_id} changed --copy-info", > and parsed the result. > > Eric > > > On Fri, Aug 15, 2014 at 7:15 AM, Keath Milligan <ke...@keathmilligan.net> > wrote: > >> We're using Subversion 1.8.3 and need to create a pre-commit hook that >> checks copy operations (specifically branch creation) for certain >> conditions. Specifically, we want to be able to prevent users from creating >> branches in the wrong locations and similar errors. >> >> To accomplish this, we need to know the source and destination paths of >> the copy operation. Our current pre-commit hook (written in Python) uses a >> delta.Editor subclass to check other things. We tried overriding the >> add_directory method, which has a copyfrom_path argument -- this would have >> been perfect, but this argument is always empty. >> >> We also tried using the repos.Changecollector and repos.replay2, but this >> doesn't seem to give us information about the pending commit -- perhaps we >> are doing it wrong. >> >> Any suggestion would be much appreciated. >> >> Thanks >> >> >