You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Sergey Kryzhny <se...@gmail.com> on 2009/04/15 10:03:32 UTC

Re: strange bug with propget/proplist/propedit via mod_dav_svn UPDATED

Hi all!

2009/4/10 Sergey Kryzhny <se...@gmail.com>

> Hi Ryan!
>
>
> 2009/4/9 Ryan Schmidt <su...@ryandesign.com>
>
>
>> On Apr 9, 2009, at 05:19, Sergey Kryzhny wrote:
>>
>>  I try to implement pre-revprop-change hook for change svn:log message and
>>> run into problem with access via apache mod_dav_svn.
>>> Everything work fine via EDITOR=nano svn propedit -r 16385 --revprop
>>> svn:log file:///mnt/svn/repositories/projects/
>>> I get back string like "fixin foo/bar JIRA-blah-blah" and can edit/set
>>> new message.
>>> But if I use EDITOR=nano svn propedit -r 16385 --revprop svn:log
>>> http://svn1.mycompany.org/projects/
>>> on same host or via internet / intranet I get empty response string.
>>> Same  behavior for propget and proplist. Proplist does not return
>>> property list via dav.
>>>
>>> Tried different windows/linux client.
>>> Tried different versions of subversion: 1.4.4 via yum on Fedora7, 1.5.4
>>> via yum on Fedora 10, 1.6.0 build from sources on Fedora10, 1.4.6 on Ubuntu
>>> 8.04
>>> Tried FSFS and BDB repository.
>>> Tried Dump/Load repository and svnadmin upgrade repository.
>>>
>>> Very strange that for some repository revision it work normally for both
>>> file/dav access. -> so hooks are OK.
>>> Like for revision 12570 it work, for revision 16385 it dosen't work via
>>> dav.
>>>
>>> And most mistycal that if I rename my repository (on host local FS) from
>>> "projects" to some other name like "projects2" or "projects.orig" it start
>>> work via dav!!!!
>>> I even try to symlink directory "projects" to "projects2" - work on
>>> "projects2" and dosen't work on "projects" !!!
>>>
>>> Any ideas to resolve this strange bug?
>>>
>>
>> Perhaps there is some other Apache directive matching on the string
>> "projects" and interfering. Search your httpd.conf and any other files it
>> includes for the string "projects".
>>
>>
> Only one string in apache configs match projects:
>             RedirectMatch "^/?$" "/projects/"
>
> I don't think this may be problem, with some revisions in svn repository
> propget works, with some don't work.
> If I use mod_proxy redirection from /projects to renamed "projects2"
> repository - forks fine.
>
> --
> --
> Best regards,
> Sergey
>
> So, after hours of trying and tweaking I found issue:

propget/propedit for specific revision, that has commit to not anonymous
read directory, silently return empty string.
I explicitly provide username and password  to propget command, like:
svn propget --username sergkr --password secret -r 4 --revprop svn:log
http://svn1.exoplatform.org/test1/

For revision, that have commit to directories with anonymous read access it
return properties as expected.

I can propget values on host, serving subversion via command: EDITOR=mcedit
svn propedit -r 4 --revprop svn:log file:///mnt/svn/repositories/test1/, so
I know what properties are exist.

I think this is BUG - do not return "access denied" or "authentication
required" to client, or better ask for user credential, or best case is USE
provided via command line user credential.

How to reproduce this:
Use * Subversion <http://subversion.tigris.org/> version 1.5.4 (r33841). by
Fedora 10 x64 yum install*
(I tried subversion 1.6.1 from sources - same problem)
Create test1 repository
svnadmin create test1
add virtual host apache configuration for svn with LDAP user database
add to svnauthz.conf:
>>>>>
exo-dev=sergkr,root

[test1:/]
*                       = r
@exo-dev                = r
@exo-dev                = rw

[test1:/branch]
*                       =
@exo-dev                = r
@exo-dev                = rw
<<<<<<<

and make various svn co, svn ci
to "private" branch directory and other "public" directory in various
combination.

Via mod_dav_svn: svn propget --username sergkr --password secret -r 4
--revprop svn:log http://svn1.exoplatform.org/test1/
For revision there no commits to "private" /branch directory you can
successfully get these properties.
For revision there IS commits to "private" /branch directory you get empty
string as result. Silently!!!

Via file:// EDITOR=mcedit svn propget -r 4 --revprop svn:log
file:///mnt/svn/repositories/test1/
You get all properties.

P.S.
When I change svnauthz.conf for allow anonymous read of "branch".
>>>>>>>>>>>>
[test1:/branch]
*                       =  r
@exo-dev                = r
....
<<<<<<<<<<<<
I get properties instead of empty string.

-- 
--
Best regards,
Sergey

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1724779

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: strange bug with propget/proplist/propedit via mod_dav_svn UPDATED

Posted by Konstantin Kolinko <kn...@gmail.com>.
2009/4/27 Sergey Kryzhny <se...@gmail.com>:
> Hi All!
>
> 2009/4/15 Sergey Kryzhny <se...@gmail.com>
>>
>> Hi all!
>>
>> 2009/4/10 Sergey Kryzhny <se...@gmail.com>
>>>
>>> Hi Ryan!
>>>
>>>
>>> 2009/4/9 Ryan Schmidt <su...@ryandesign.com>
>>>>
>>>> On Apr 9, 2009, at 05:19, Sergey Kryzhny wrote:
>>>>
>>>>> I try to implement pre-revprop-change hook for change svn:log message
>>>>> and run into problem with access via apache mod_dav_svn.
>>>>> Everything work fine via EDITOR=nano svn propedit -r 16385 --revprop
>>>>> svn:log file:///mnt/svn/repositories/projects/
>>>>> I get back string like "fixin foo/bar JIRA-blah-blah" and can edit/set
>>>>> new message.
>>>>> But if I use EDITOR=nano svn propedit -r 16385 --revprop svn:log
>>>>> http://svn1.mycompany.org/projects/
>>>>> on same host or via internet / intranet I get empty response string.
>>>>> Same  behavior for propget and proplist. Proplist does not return
>>>>> property list via dav.
>>>>>
>>>>> Tried different windows/linux client.
>>>>> Tried different versions of subversion: 1.4.4 via yum on Fedora7, 1.5.4
>>>>> via yum on Fedora 10, 1.6.0 build from sources on Fedora10, 1.4.6 on Ubuntu
>>>>> 8.04
>>>>> Tried FSFS and BDB repository.
>>>>> Tried Dump/Load repository and svnadmin upgrade repository.
>>>>>
>>>>> Very strange that for some repository revision it work normally for
>>>>> both file/dav access. -> so hooks are OK.
>>>>> Like for revision 12570 it work, for revision 16385 it dosen't work via
>>>>> dav.
>>>>>
>>>>> And most mistycal that if I rename my repository (on host local FS)
>>>>> from "projects" to some other name like "projects2" or "projects.orig" it
>>>>> start work via dav!!!!
>>>>> I even try to symlink directory "projects" to "projects2" - work on
>>>>> "projects2" and dosen't work on "projects" !!!
>>>>>
>>>>> Any ideas to resolve this strange bug?
>>>>
>>>> Perhaps there is some other Apache directive matching on the string
>>>> "projects" and interfering. Search your httpd.conf and any other files it
>>>> includes for the string "projects".
>>>>
>>>
>>> Only one string in apache configs match projects:
>>>             RedirectMatch "^/?$" "/projects/"
>>>
>>> I don't think this may be problem, with some revisions in svn repository
>>> propget works, with some don't work.
>>> If I use mod_proxy redirection from /projects to renamed "projects2"
>>> repository - forks fine.
>>>
>>> --
>>> --
>>> Best regards,
>>> Sergey
>>>
>> So, after hours of trying and tweaking I found issue:
>>
>> propget/propedit for specific revision, that has commit to not anonymous
>> read directory, silently return empty string.
>> I explicitly provide username and password  to propget command, like:
>> svn propget --username sergkr --password secret -r 4 --revprop svn:log
>> http://svn1.exoplatform.org/test1/
>>
>> For revision, that have commit to directories with anonymous read access
>> it return properties as expected.
>>
>> I can propget values on host, serving subversion via command:
>> EDITOR=mcedit svn propedit -r 4 --revprop svn:log
>> file:///mnt/svn/repositories/test1/, so I know what properties are exist.
>>
>> I think this is BUG - do not return "access denied" or "authentication
>> required" to client, or better ask for user credential, or best case is USE
>> provided via command line user credential.
>>
>> How to reproduce this:
>> Use Subversion version 1.5.4 (r33841). by Fedora 10 x64 yum install
>> (I tried subversion 1.6.1 from sources - same problem)
>> Create test1 repository
>> svnadmin create test1
>> add virtual host apache configuration for svn with LDAP user database
>> add to svnauthz.conf:
>> >>>>>
>> exo-dev=sergkr,root
>>
>> [test1:/]
>> *                       = r
>> @exo-dev                = r
>> @exo-dev                = rw
>>
>> [test1:/branch]
>> *                       =
>> @exo-dev                = r
>> @exo-dev                = rw
>> <<<<<<<
>>
>> and make various svn co, svn ci
>> to "private" branch directory and other "public" directory in various
>> combination.
>>
>> Via mod_dav_svn: svn propget --username sergkr --password secret -r 4
>> --revprop svn:log http://svn1.exoplatform.org/test1/
>> For revision there no commits to "private" /branch directory you can
>> successfully get these properties.
>> For revision there IS commits to "private" /branch directory you get empty
>> string as result. Silently!!!
>>
>> Via file:// EDITOR=mcedit svn propget -r 4 --revprop svn:log
>> file:///mnt/svn/repositories/test1/
>> You get all properties.
>>
>> P.S.
>> When I change svnauthz.conf for allow anonymous read of "branch".
>> >>>>>>>>>>>>
>> [test1:/branch]
>> *                       =  r
>> @exo-dev                = r
>> ....
>> <<<<<<<<<<<<
>> I get properties instead of empty string.
>
> So do You have any ideas to workaround this behavior?
> My main goal to allow user of repository change svn:log message.
>
> Currently only one option I see - create web interface on PHP that use file
> interface on host like:
> svn propget -r 4 --revprop svn:log file:///mnt/svn/repositories/test1/
>
> Any suggestion, tips?
>
> --
> --
> Best regards,
> Sergey
>
>

It sounds somehow similar to the following use case,
someone stumbled upon in October 2008:
"Re: Show log"
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=88192

Best regards,
Konstantin Kolinko

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2127101


Re: strange bug with propget/proplist/propedit via mod_dav_svn UPDATED

Posted by Sergey Kryzhny <se...@gmail.com>.
Hi All!

2009/4/15 Sergey Kryzhny <se...@gmail.com>

> Hi all!
>
> 2009/4/10 Sergey Kryzhny <se...@gmail.com>
>
>> Hi Ryan!
>>
>>
>> 2009/4/9 Ryan Schmidt <su...@ryandesign.com>
>>
>>
>>> On Apr 9, 2009, at 05:19, Sergey Kryzhny wrote:
>>>
>>>  I try to implement pre-revprop-change hook for change svn:log message
>>>> and run into problem with access via apache mod_dav_svn.
>>>> Everything work fine via EDITOR=nano svn propedit -r 16385 --revprop
>>>> svn:log file:///mnt/svn/repositories/projects/
>>>> I get back string like "fixin foo/bar JIRA-blah-blah" and can edit/set
>>>> new message.
>>>> But if I use EDITOR=nano svn propedit -r 16385 --revprop svn:log
>>>> http://svn1.mycompany.org/projects/
>>>> on same host or via internet / intranet I get empty response string.
>>>> Same  behavior for propget and proplist. Proplist does not return
>>>> property list via dav.
>>>>
>>>> Tried different windows/linux client.
>>>> Tried different versions of subversion: 1.4.4 via yum on Fedora7, 1.5.4
>>>> via yum on Fedora 10, 1.6.0 build from sources on Fedora10, 1.4.6 on Ubuntu
>>>> 8.04
>>>> Tried FSFS and BDB repository.
>>>> Tried Dump/Load repository and svnadmin upgrade repository.
>>>>
>>>> Very strange that for some repository revision it work normally for both
>>>> file/dav access. -> so hooks are OK.
>>>> Like for revision 12570 it work, for revision 16385 it dosen't work via
>>>> dav.
>>>>
>>>> And most mistycal that if I rename my repository (on host local FS) from
>>>> "projects" to some other name like "projects2" or "projects.orig" it start
>>>> work via dav!!!!
>>>> I even try to symlink directory "projects" to "projects2" - work on
>>>> "projects2" and dosen't work on "projects" !!!
>>>>
>>>> Any ideas to resolve this strange bug?
>>>>
>>>
>>> Perhaps there is some other Apache directive matching on the string
>>> "projects" and interfering. Search your httpd.conf and any other files it
>>> includes for the string "projects".
>>>
>>>
>> Only one string in apache configs match projects:
>>             RedirectMatch "^/?$" "/projects/"
>>
>> I don't think this may be problem, with some revisions in svn repository
>> propget works, with some don't work.
>> If I use mod_proxy redirection from /projects to renamed "projects2"
>> repository - forks fine.
>>
>> --
>> --
>> Best regards,
>> Sergey
>>
>> So, after hours of trying and tweaking I found issue:
>
> propget/propedit for specific revision, that has commit to not anonymous
> read directory, silently return empty string.
> I explicitly provide username and password  to propget command, like:
> svn propget --username sergkr --password secret -r 4 --revprop svn:log
> http://svn1.exoplatform.org/test1/
>
> For revision, that have commit to directories with anonymous read access it
> return properties as expected.
>
> I can propget values on host, serving subversion via command: EDITOR=mcedit
> svn propedit -r 4 --revprop svn:log file:///mnt/svn/repositories/test1/, so
> I know what properties are exist.
>
> I think this is BUG - do not return "access denied" or "authentication
> required" to client, or better ask for user credential, or best case is USE
> provided via command line user credential.
>
> How to reproduce this:
> Use * Subversion <http://subversion.tigris.org/> version 1.5.4 (r33841).
> by Fedora 10 x64 yum install*
> (I tried subversion 1.6.1 from sources - same problem)
> Create test1 repository
> svnadmin create test1
> add virtual host apache configuration for svn with LDAP user database
> add to svnauthz.conf:
> >>>>>
> exo-dev=sergkr,root
>
> [test1:/]
> *                       = r
> @exo-dev                = r
> @exo-dev                = rw
>
> [test1:/branch]
> *                       =
> @exo-dev                = r
> @exo-dev                = rw
> <<<<<<<
>
> and make various svn co, svn ci
> to "private" branch directory and other "public" directory in various
> combination.
>
> Via mod_dav_svn: svn propget --username sergkr --password secret -r 4
> --revprop svn:log http://svn1.exoplatform.org/test1/
> For revision there no commits to "private" /branch directory you can
> successfully get these properties.
> For revision there IS commits to "private" /branch directory you get empty
> string as result. Silently!!!
>
> Via file:// EDITOR=mcedit svn propget -r 4 --revprop svn:log
> file:///mnt/svn/repositories/test1/
> You get all properties.
>
> P.S.
> When I change svnauthz.conf for allow anonymous read of "branch".
> >>>>>>>>>>>>
> [test1:/branch]
> *                       =  r
> @exo-dev                = r
> ....
> <<<<<<<<<<<<
> I get properties instead of empty string.
>

So do You have any ideas to workaround this behavior?
My main goal to allow user of repository change svn:log message.

Currently only one option I see - create web interface on PHP that use file
interface on host like:
svn propget -r 4 --revprop svn:log file:///mnt/svn/repositories/test1/

Any suggestion, tips?

-- 
--
Best regards,
Sergey

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=1943168

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: strange bug with propget/proplist/propedit via mod_dav_svn UPDATED

Posted by Sergey Kryzhny <se...@gmail.com>.
Hi All!

2009/4/15 Sergey Kryzhny <se...@gmail.com>

> Hi all!
>
> 2009/4/10 Sergey Kryzhny <se...@gmail.com>
>
>> Hi Ryan!
>>
>>
>> 2009/4/9 Ryan Schmidt <su...@ryandesign.com>
>>
>>
>>> On Apr 9, 2009, at 05:19, Sergey Kryzhny wrote:
>>>
>>>  I try to implement pre-revprop-change hook for change svn:log message
>>>> and run into problem with access via apache mod_dav_svn.
>>>> Everything work fine via EDITOR=nano svn propedit -r 16385 --revprop
>>>> svn:log file:///mnt/svn/repositories/projects/
>>>> I get back string like "fixin foo/bar JIRA-blah-blah" and can edit/set
>>>> new message.
>>>> But if I use EDITOR=nano svn propedit -r 16385 --revprop svn:log
>>>> http://svn1.mycompany.org/projects/
>>>> on same host or via internet / intranet I get empty response string.
>>>> Same  behavior for propget and proplist. Proplist does not return
>>>> property list via dav.
>>>>
>>>> Tried different windows/linux client.
>>>> Tried different versions of subversion: 1.4.4 via yum on Fedora7, 1.5.4
>>>> via yum on Fedora 10, 1.6.0 build from sources on Fedora10, 1.4.6 on Ubuntu
>>>> 8.04
>>>> Tried FSFS and BDB repository.
>>>> Tried Dump/Load repository and svnadmin upgrade repository.
>>>>
>>>> Very strange that for some repository revision it work normally for both
>>>> file/dav access. -> so hooks are OK.
>>>> Like for revision 12570 it work, for revision 16385 it dosen't work via
>>>> dav.
>>>>
>>>> And most mistycal that if I rename my repository (on host local FS) from
>>>> "projects" to some other name like "projects2" or "projects.orig" it start
>>>> work via dav!!!!
>>>> I even try to symlink directory "projects" to "projects2" - work on
>>>> "projects2" and dosen't work on "projects" !!!
>>>>
>>>> Any ideas to resolve this strange bug?
>>>>
>>>
>>> Perhaps there is some other Apache directive matching on the string
>>> "projects" and interfering. Search your httpd.conf and any other files it
>>> includes for the string "projects".
>>>
>>>
>> Only one string in apache configs match projects:
>>             RedirectMatch "^/?$" "/projects/"
>>
>> I don't think this may be problem, with some revisions in svn repository
>> propget works, with some don't work.
>> If I use mod_proxy redirection from /projects to renamed "projects2"
>> repository - forks fine.
>>
>> --
>> --
>> Best regards,
>> Sergey
>>
>> So, after hours of trying and tweaking I found issue:
>
> propget/propedit for specific revision, that has commit to not anonymous
> read directory, silently return empty string.
> I explicitly provide username and password  to propget command, like:
> svn propget --username sergkr --password secret -r 4 --revprop svn:log
> http://svn1.exoplatform.org/test1/
>
> For revision, that have commit to directories with anonymous read access it
> return properties as expected.
>
> I can propget values on host, serving subversion via command: EDITOR=mcedit
> svn propedit -r 4 --revprop svn:log file:///mnt/svn/repositories/test1/, so
> I know what properties are exist.
>
> I think this is BUG - do not return "access denied" or "authentication
> required" to client, or better ask for user credential, or best case is USE
> provided via command line user credential.
>
> How to reproduce this:
> Use * Subversion <http://subversion.tigris.org/> version 1.5.4 (r33841).
> by Fedora 10 x64 yum install*
> (I tried subversion 1.6.1 from sources - same problem)
> Create test1 repository
> svnadmin create test1
> add virtual host apache configuration for svn with LDAP user database
> add to svnauthz.conf:
> >>>>>
> exo-dev=sergkr,root
>
> [test1:/]
> *                       = r
> @exo-dev                = r
> @exo-dev                = rw
>
> [test1:/branch]
> *                       =
> @exo-dev                = r
> @exo-dev                = rw
> <<<<<<<
>
> and make various svn co, svn ci
> to "private" branch directory and other "public" directory in various
> combination.
>
> Via mod_dav_svn: svn propget --username sergkr --password secret -r 4
> --revprop svn:log http://svn1.exoplatform.org/test1/
> For revision there no commits to "private" /branch directory you can
> successfully get these properties.
> For revision there IS commits to "private" /branch directory you get empty
> string as result. Silently!!!
>
> Via file:// EDITOR=mcedit svn propget -r 4 --revprop svn:log
> file:///mnt/svn/repositories/test1/
> You get all properties.
>
> P.S.
> When I change svnauthz.conf for allow anonymous read of "branch".
> >>>>>>>>>>>>
> [test1:/branch]
> *                       =  r
> @exo-dev                = r
> ....
> <<<<<<<<<<<<
> I get properties instead of empty string.
>

So do You have any ideas to workaround this behavior?
My main goal to allow user of repository change svn:log message.

Currently only one option I see - create web interface on PHP that use file
interface on host like:
svn propget -r 4 --revprop svn:log file:///mnt/svn/repositories/test1/

Any suggestion, tips?

-- 
--
Best regards,
Sergey

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1943165