>>>>>>>>
>>>>>>>> My repository has a pre-revprop-change hook in place that prevents
>>>>>>>> all
>>>>>>>> modifications to revision properties. It works fine (i.e. prevents
>>>>>>>> the action and displays the error message) when I try to edit or add
>>>>>>>> revision properties via TortoiseSVN. However when I try to remove a
>>>>>>>> property it asks me for a commit message (which should be required)
>>>>>>>> and then just refreshes the Properties window without any change.
>>>>>>>> No
>>>>>>>> error message is displayed.
>>>>>>>>
>>>>>>>> Is this a known issue?
>>>>>>>
>>>>>>> I can't reproduce this here. If I set the pre-revprop-change hook
>>>>>>> script
>>>>>>> to
>>>>>>> return -1 (indicating an error), I get a nice messagebox showing me
>>>>>>> that
>>>>>>> the
>>>>>>> removal of the revision property failed and the error message piped
>>>>>>> to
>>>>>>> stderr by the script.
>>>>>>>
>>>>>>> Do you have more information about your setup/script/versions? And I
>>>>>>> assume
>>>>>>> you used the log dialog, right-click, "Show revision properties" for
>>>>>>> this?
>>>>>>
>>>>>> I get two different behaviors depending on how I do it.
>>>>>>
>>>>>> 1) Right click > Show Log. Right click on revision > Show revision
>>>>>> properties. Highlight property and click Remove. "Enter Log Message"
>>>>>> dialog appears. Click OK. Then a dialog titled "Microsoft Visual C++
>>>>>> Runtime Library" appears with the following text.
>>>>>>
>>>>>> Runtime Error!
>>>>>>
>>>>>> Program C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe
>>>>>>
>>>>>> This application has requested the Runtime to terminate it in an
>>>>>> unusual
>>>>>> way.
>>>>>> Please contact the application's support team for more information.
>>>>>>
>>>>>> Everything is unresponsive after this, and eventually a
>>>>>> "TortoiseProc.exe" dialog appears saying "TortoiseProc.exe has
>>>>>> encountered a problem and needs to close. We are sorry for the
>>>>>> inconvenience." I can click Debug or Close.
>>>>>>
>>>>>> 2) Within Repository Browser right click on a folder and select Show
>>>>>> revision properties. Highlight property. Click Remove. "Enter Log
>>>>>> Message" appears. Click OK. "Setting properties" progress dialog
>>>>>> appears briefly. Then Properties window refreshes with all properties
>>>>>> still present and no error.
>>>>>
>>>>> Ahem: there is no menu "Show revision properties" in the repository
>>>>> browser,
>>>>> only "Show properties". And those are the normal properties, not
>>>>> revision
>>>>> properties. So your hook script can't interfere with changes there.
>>>>
>>>> Well I don't know what is going on then, because I definitely have a
>>>> Show revision properties window there. See the attached image.
>>>
>>> Ups, sorry. I completely forgot that the menu is shown for the repository
>>> root.
>>>
>>> But I still get the error message dialog here. I've also treid your
>>> script,
>>> but used 'exit -1', still I get the error dialog.
>>>
>>> Even if I return 1 instead of -1 I get the error dialog.
>>>
>>> Are you sure your hook script is even run on the server?
>>
>> Yes I'm sure it's running because it works for both edit and add, just
>> not for delete. Since we're seeing different behavior, I'm going to
>> uninstall and reinstall TortoiseSVN one more time and see if that
>> changes anything.
>
> That won't help you much.
> But you could try the svn command line client (either from open.collab.net,
> or from http://nightlybuilds.tortoisesvn.net/latest/win32/). If you use the
> one from our nightly build server, you have to copy it into the TSVN
> installation path for it to work.
>
> Then use
> svn propdel propertyname url --revprop -r XXX
>
Uninstall and reinstall didn't help, as you said.
Running propdel from the commandline appeared to succeed, but actually didn't.
C:\temp>svn --version
svn, version 1.5.0 (r31699)
compiled Jun 23 2008, 12:59:48
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
C:\temp>svn propdel svn:log REPO_URL --revprop -r HEAD
property 'svn:log' deleted from repository revision 2796
C:\temp>svn pl -v --revprop -r HEAD REPO_URL
Unversioned properties on revision 2796:
svn:log :
svn:author : USER
svn:date : 2008-06-27T16:27:56.154502Z
## Propset below just to prove the hook is working.
C:\temp>svn propset testprop testval REPO_URL --revprop -r HEAD
svn: DAV request failed; it's possible that the repository's pre-revprop-change
hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'testprop':
Revprop change blocked by pre-revprop-change hook (exit code 1) with output:
Changing revision properties is prohibited by company policy
I also tried temporarily disabling the hook so I could set property
called testprop. Then I reanbled the hook to see if I could remove
it, to make sure there wasn't some special behavor for svn:*
properties. I got the same results.
C:\temp>svn propdel testprop REPO_URL --revprop -r HEAD
property 'testprop' deleted from repository revision 2796
C:\temp>svn pl -v --revprop -r HEAD REPO_URL
Unversioned properties on revision 2796:
testprop : testval
svn:log :
svn:author : USER
svn:date : 2008-06-27T16:27:56.154502Z
Is this a bug with Subversion itself? I'm cross-posting to the
Subversion users list now.
Justin
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-06-27 20:49:12 CEST