On Thu, Jun 13, 2013 at 4:24 PM, Benjamin Fritz <fritzophre...@gmail.com> wrote:
> On Thu, Jun 13, 2013 at 3:09 PM, Mark Phippard <markp...@gmail.com> wrote:
>> On Thu, Jun 13, 2013 at 4:05 PM, Benjamin Fritz <fritzophre...@gmail.com> 
>> wrote:
>>> On Thu, Jun 13, 2013 at 2:47 PM, Mark Phippard <markp...@gmail.com> wrote:
>>>>
>>>> The hook is running on the server, so it could access the repository
>>>> via file:// URL to do the lock.  This does not require authentication.
>>>>
>>>
>>> I DID NOT KNOW THIS! Is that documented somewhere? This should allow
>>> my pre-lock hook to work exactly as I wanted! What other svn commands
>>> that also behave this way?
>>
>> Which other commands support file:// ?  All of them do.  file:// is
>> one of the supported "RA" mechanisms for Subversion - ra_local.  See:
>>
>> http://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.architecture
>>
>
> I knew about file:// access, I just assumed username and password
> would still be required when using it. But looking at the
> documentation I see a few notes (in sections about tunneling) that the
> only control on access is the filesystem permissions on the DB files
> themselves. Do I understand correctly, that if a user can access the
> files within the actual SVN repository filesystem location, then that
> user can use any "svn" commands without a password?

Yes.  If you have read/write access to the repository filesystem you
can also manually delete revisions or try to edit them with a text
editor as well.

> I saw notes on a few forums during my searching for answers to this,
> about avoiding using svn commands that would recursively trigger the
> same hook script. I assume that is just because I need to be careful
> not to cause unbounded recursion. I though I'd ask, however, to make
> sure SVN won't have problems because it is already processing a
> pre-lock hook when it gets another lock request.

OK, I understand now.  SVN will not have a problem, the key is your
hook will be called again.  So your hook needs to be smart enough to
say "hey this lock is for trunk, I do not need to do anything".  Then
you will be fine.

> I think for now we'll just --force the trunk lock/unlock when needed.
> I can't think of a good way to unlock via hook script, because
> unlocking the branched file only means the changes for that particular
> commit on the branch are done, not that the file is OK to edit now on
> a different branch or trunk (since it hasn't been merged back to trunk
> yet).

Makes sense.


--
Thanks

Mark Phippard
http://markphip.blogspot.com/

Reply via email to