You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by John Peacock <jp...@rowman.com> on 2005/01/03 00:12:19 UTC

Adding new prop entry for repos-root

I've looked around and it appears that the only way to support the proposed 
$RepositoryLocalPath$ keyword for local expansion (export and cat are working) 
is to add it to the list of properties which are in the .svn/entries file 
(because that is the only place that the WC code can draw on to expand 
keywords).  And the only way to add _that_ is apparently to add it to the 
svn_props.h file and have the RA layer pass it along (much like the UUID was 
added in r4513).  I think this is allowed by the compatibility guarantee 
(unknown props are ignored by the client), but I'm not sure.

Is this something that people (other than John Belmonte) really want to add?  Is 
this the appropriate way to add support for it?  Obviously, I'm a little 
hesitant to touch the WC code or the list of props being transmitted over the 
wire without a _very_ good reason...

John

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Adding new prop entry for repos-root

Posted by John Peacock <jp...@rowman.com>.
steveking wrote:

> Wouldn't this feature also cover repository settings? I mean something 
> like a conf-file stored in the repository which then clients would fetch 
> with every update (like the UUID) and would be stored in the wc.
> Only it wouldn't be a config file but all configs would be stored as 
> props in root. So this could also cover issue 1974:
> http://subversion.tigris.org/issues/show_bug.cgi?id=1974

Looking over 1974, I don't think that what is being discussed there is 
likely to fit into the entries file itself (which is all I'm talking 
about).  I suspect for the limited set of repository settings that would 
be supported (taking heed of Greg Hudson's comment) would require a new 
file (or files) in the administrative directory to store those 
overwrites (like .svn/autoprops and .svn/mime-types).  Whether these get 
fetched with every update, or only when changed, is a different 
question.  Indeed, I suspect uuid is transferred everytime more as a 
failsafe against MITM attacks (since it doesn't actually change).

Although I've also considered this sort of functionality as being very 
doable with inherited properties (another feature I'd like to work on). 
  With that in place, the repository could be mined with all sorts of 
properties which the individual WC files would simply inherit.  My 
current thinking is that inherited properties would live in the 
directory entry containing the files, and that the server would be 
resposible for sending that out for each directory during checkout.

John

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD  20706
301-459-3366 x.5010
fax 301-429-5748

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Adding new prop entry for repos-root

Posted by steveking <st...@gmx.ch>.
John Peacock wrote:
> I've looked around and it appears that the only way to support the 
> proposed $RepositoryLocalPath$ keyword for local expansion (export and 
> cat are working) is to add it to the list of properties which are in the 
> .svn/entries file (because that is the only place that the WC code can 
> draw on to expand keywords).  And the only way to add _that_ is 
> apparently to add it to the svn_props.h file and have the RA layer pass 
> it along (much like the UUID was added in r4513).  I think this is 
> allowed by the compatibility guarantee (unknown props are ignored by the 
> client), but I'm not sure.

Wouldn't this feature also cover repository settings? I mean something 
like a conf-file stored in the repository which then clients would fetch 
with every update (like the UUID) and would be stored in the wc.
Only it wouldn't be a config file but all configs would be stored as 
props in root. So this could also cover issue 1974:
http://subversion.tigris.org/issues/show_bug.cgi?id=1974

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Adding new prop entry for repos-root

Posted by John Peacock <jp...@rowman.com>.
Peter N. Lundblad wrote:

> That's issue #960, BTW. 

I knew this had been discussed at some point; I just didn't query the 
issues...

> I don't know why we would have to transfer it as
> an entryprop each time like the UUID is. Wouldn't it be better to set it
> if it for the first time if it is missing? Maybe this was an easy way to
> get it set without touching many places that affect the entries file?
> Maybe that's a good strategy. It just seems silly to transfer the URL for
> each file. 

It wouldn't have to be associated with the individual files; tying it to 
the containing directory should be just as useful and likely to be much 
more efficient.  As for transferring it every time, I'm certainly open 
to better ways ("set if not already set" sounds fine).  I'm now 
officially outside of the part of the code I vaguely understand, so I'm 
open to suggestions.  I was just following the crumbs on the UUID 
addition.

 From what I can glean, the translate.c case can only access data 
elements already part of the offline WC, which basically means the 
entries file.  However the data gets there is fine by me. ;)

> Also, we have to wory about modifying the property in svn switch --relocate.

Ah yes, I hadn't considered that case.

John

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD  20706
301-459-3366 x.5010
fax 301-429-5748

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Adding new prop entry for repos-root

Posted by "Peter N. Lundblad" <pe...@famlundblad.se>.
On Mon, 3 Jan 2005, John Peacock wrote:

> John Peacock wrote:
>
> > apparently to add it to the svn_props.h file and have the RA layer pass
> > it along (much like the UUID was added in r4513).
>
> Sorry, that should be r4810 (I was looking at the SVK mirrored rev
> number, not the original rev):
>
That's issue #960, BTW. I don't know why we would have to transfer it as
an entryprop each time like the UUID is. Wouldn't it be better to set it
if it for the first time if it is missing? Maybe this was an easy way to
get it set without touching many places that affect the entries file?
Maybe that's a good strategy. It just seems silly to transfer the URL for
each file. Also, we have to wory about modifying the property in svn
switch --relocate.

Regards,
//Peter

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Adding new prop entry for repos-root

Posted by John Peacock <jp...@rowman.com>.
John Peacock wrote:

> apparently to add it to the svn_props.h file and have the RA layer pass 
> it along (much like the UUID was added in r4513).  

Sorry, that should be r4810 (I was looking at the SVK mirrored rev 
number, not the original rev):

> r4513 (orig r4810):  mbk | 2003-02-09 13:42:05 -0500
> 
> Fix issue #1037:
> 
> Merge all changes on branches/issue-1037-uuids (which adds repository UUIDs)
> into the trunk.  The only user-visible change is the introduction of two
> new options to "svnadmin dump": "--ignore-uuid" and "--force-uuid".


John

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD  20706
301-459-3366 x.5010
fax 301-429-5748

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org