help with the pre-revprop-change hook?

Jelmer Vernooij jelmer at samba.org
Fri Mar 13 01:32:32 GMT 2009


Fanelli, Paul wrote:
> Jelmer,
> 
>  
> 
> I was trying to implement the pre-revprop-change hook and I got the
> following error:
> 
>  
> 
> autotest at cuda:~/pqm-queue$ pqm -v -d --run
> 
> pqm [-1210390336] INFO: found groups {'staff': []}
> 
> pqm [-1210390336] INFO: group staff has members
> ['pfanelli at crossbeamsys.com']
> 
> pqm [-1210390336] INFO: managing branch(s):
> file:///users/autotest/bzr-testrepo/scastest-automation
> 
> pqm [-1210390336] INFO: managing branch(s):
> file:///users/autotest/bzr-testrepo/automation
> 
> pqm [-1210390336] INFO: managing branch(s):
> file:///users/autotest/bzr-public/mainline-automation
> 
> pqm [-1210390336] INFO: creating lockfile
> 
> pqm [-1210390336] INFO: trying script
> /users/autotest/pqm-queue/patch.1236904631
> 
> pqm [-1210390336] INFO: recieved email from Paul Fanelli
> <pfanelli at crossbeamsys.com>
> 
> pqm [-1210390336] INFO: garh E9549BE18D6BCE0C :
> pfanelli at crossbeamsys.com
> 
> pqm [-1210390336] INFO: sender: Paul Fanelli <pfanelli at crossbeamsys.com>
> 
> pqm [-1210390336] INFO: subject: submit to pqm, modified test4 to
> testing2
> 
> pqm [-1210390336] INFO: parsing commands
> 
> pqm [-1210390336] INFO: cleaning working directory
> 
> in here
> 
> pqm [-1210390336] INFO: current cwd is /users/autotest/pqm-queue
> 
> pqm [-1210390336] INFO: getting working dir for
> file:///users/autotest/bzr-testrepo/scastest-automation
> 
> pqm [-1210390336] INFO: Executing star-merge
> file:///users/autotest/bzr-public/scastest-bugfix1 at Thu Mar 12
> 20:37:55 2009
> 
> pqm [-1210390336] INFO: running precommit hook:
> /users/autotest/precommit_hook.sh
> 
> pqm [-1210390336] INFO: success: merge
> file:///users/autotest/bzr-public/scastest-bugfix1
> file:///users/autotest/bzr-testrepo/scastest-automation
> 
> No handlers could be found for logger "bzr"
> 
> Traceback (most recent call last):
> 
>   File "/users/autotest/bzr-projects/pqm/bin/pqm", line 248, in <module>
> 
>     manager.run(script_queue)
> 
>   File "/usr/lib/python2.5/site-packages/pqm/core.py", line 107, in run
> 
>     self.do_run_mode(script_queue)
> 
>   File "/usr/lib/python2.5/site-packages/pqm/core.py", line 118, in
> do_run_mode
> 
>     script_queue.next_script(), goodscripts, badscripts)
> 
>   File "/usr/lib/python2.5/site-packages/pqm/core.py", line 147, in
> run_one_script
> 
>     (successes, unrecognized, output) = script.run()
> 
>   File "/usr/lib/python2.5/site-packages/pqm/script.py", line 249, in
> run
> 
>     command_result = command.run()
> 
>   File "/usr/lib/python2.5/site-packages/pqm/script.py", line 677, in
> run
> 
>     line='merge %s %s' % (self.from_branch, self.to_branch))
> 
>   File "/usr/lib/python2.5/site-packages/pqm/script.py", line 427, in
> do_merge
> 
>     self.get_vcs().commit(sender, dir, self.commitmsg, to_repo_revision,
> config)
> 
>   File "/usr/lib/python2.5/site-packages/pqm/__init__.py", line 389, in
> commit
> 
>     tree.commit(summary, verbose=False)
> 
>   File "<string>", line 4, in commit_write_locked
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/workingtree_4.py", line
> 226, in commit
> 
>     result = WorkingTree3.commit(self, message, revprops, *args,
> **kwargs)
> 
>   File "<string>", line 4, in commit_write_locked
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/mutabletree.py", line
> 228, in commit
> 
>     *args, **kwargs)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/commit.py", line 402, in
> commit
> 
>     self.branch.repository, new_revno, self.rev_id)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/branch.py",
> line 444, in import_last_revision_info
> 
>     interrepo.push_branch(todo, self.layout, self.project,
> self.get_branch_path(), self.get_config())
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/push.py",
> line 280, in push_branch
> 
>     self.push(target_branch, target_config, rev)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/push.py",
> line 290, in push
> 
>     revid, foreign_info = push(self.get_graph(), self.target,
> target_path, target_config, base_revid, self.source, rev,
> push_metadata=push_metadata, base_foreign_revid=base_foreign_revid,
> base_mapping=base_mapping)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/push.py",
> line 236, in push
> 
>     base_foreign_revid=base_foreign_revid, base_mapping=base_mapping)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/push.py",
> line 205, in push_revision_tree
> 
>     revid = builder.commit(rev.message)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/errors.py",
> line 127, in convert
> 
>     return unbound(*args, **kwargs)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/commit.py",
> line 810, in commit
> 
>     set_svn_revprops(self.repository, result_revision, new_revprops)
> 
>   File "/usr/lib/python2.5/site-packages/bzrlib/plugins/svn/commit.py",
> line 194, in set_svn_revprops
> 
>     raise RevpropChangeFailed(name)
> 
> bzrlib.plugins.svn.errors.RevpropChangeFailed: Unable to set revision
> property svn:author. 
> 
> Does the repository pre-revprop-change hook allow property changes?
> 
>  
> 
>  
> 
> I setup my own svn testrepo to test this out.
> 
>  
> 
> The svn repo is located at /var/www/svn/testrepo.  I copied your
> pre-revprop-change.example file into the hooks directory and renamed it
> pre-revprop-change.
> 
> It is owned by apache and the permissions on the file are 755.

That would explain why it doesn't work :-) The
pre-revprop-change.example file is not for allowing the modification of
svn:author, etc. In order to allow that you need to modify it to allow
modification of svn:author and svn:date.


Cheers,

Jelmer



More information about the bazaar mailing list