svn entry property

View: New views
8 Messages — Rating Filter:   Alert me  

svn entry property

by Normen Müller-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dear SVNKit,

    using the original svn client performing an

svn propedit svn:entry:schedule .

yields to a

svn: Property 'svn:entry:schedule' is an entry property

exception.  Shouldn't we extend jsvn wrt. refusing such actions?

If yes, I would like to volunteer.

Cheers,
  /nm

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Normen Müller-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Normen Müller wrote:

> Dear SVNKit,
>
>    using the original svn client performing an
>
> svn propedit svn:entry:schedule .
>
> yields to a
>
> svn: Property 'svn:entry:schedule' is an entry property
>
> exception.  Shouldn't we extend jsvn wrt. refusing such actions?
>
> If yes, I would like to volunteer.
>
> Cheers,
>  /nm
same holds for

$ svn propedit svn:wc:ra_dav:version-url .
svn: 'svn:wc:ra_dav:version-url' is a wcprop, thus not accessible to clients

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Normen Müller-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Normen Müller wrote:

> Normen Müller wrote:
>> Dear SVNKit,
>>
>>    using the original svn client performing an
>>
>> svn propedit svn:entry:schedule .
>>
>> yields to a
>>
>> svn: Property 'svn:entry:schedule' is an entry property
>>
>> exception.  Shouldn't we extend jsvn wrt. refusing such actions?
>>
>> If yes, I would like to volunteer.
>>
>> Cheers,
>>  /nm
> same holds for
>
> $ svn propedit svn:wc:ra_dav:version-url .
> svn: 'svn:wc:ra_dav:version-url' is a wcprop, thus not accessible to
> clients
For svn:wc it already worked, sorry :-\
For svn:entry I suppose the attached patch.

Cheers,
  /nm

Index:
/home/nmueller/svnkit/trunk/svnkit/src/org/tmatesoft/svn/core/wc/SVNWCClient.java
===================================================================
---
/home/nmueller/vc/svn/kwarc.info/locutor/src/svnkit/trunk/svnkit/src/org/tmatesoft/svn/core/wc/SVNWCClient.java    
(revision 1430)
+++
/home/nmueller/vc/svn/kwarc.info/locutor/src/svnkit/trunk/svnkit/src/org/tmatesoft/svn/core/wc/SVNWCClient.java    
(working copy)
@@ -147,6 +147,7 @@
  * </table>
  *
  * @author TMate Software Ltd.
+ * @author Normen Müller <n.mueller@...>
  * @version 1.1.1
  * @see <a target="_top" href="http://svnkit.com/kb/examples/">Examples</a>
  */
@@ -731,6 +732,12 @@
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
+        // nmueller: start
+        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+            SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
+            SVNErrorManager.error(err);
+        }
+        // nmueller: end
         SVNRepository repos = createRepository(url, null, null,
SVNRevision.UNDEFINED, revision, null);
         long revNumber = getRevisionNumber(revision, repos, null);
         repos.setRevisionPropertyValue(revNumber, propName, propValue);
@@ -875,6 +882,13 @@
                     "''{0}'' is a wcprop , thus not accessible to
clients", propName);
             SVNErrorManager.error(err);
         }
+        // nmueller: start
+        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+            SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME,
+                    "Property ''{0}'' is an entry property", propName);
+            SVNErrorManager.error(err);
+        }
+        // nmueller: end
 
         if (depth == null || depth == SVNDepth.UNKNOWN) {
             depth = SVNDepth.EMPTY;
@@ -932,6 +946,13 @@
                     "''{0}'' is a wcprop , thus not accessible to
clients", propName);
             SVNErrorManager.error(err);
         }
+        // nmueller: start
+        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+            SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME,
+                    "Property ''{0}'' is an entry property", propName);
+            SVNErrorManager.error(err);
+        }
+        // nmueller: end
 
         if ((revision != SVNRevision.WORKING && revision !=
SVNRevision.BASE && revision != SVNRevision.COMMITTED &&
                 revision != SVNRevision.UNDEFINED) || (pegRevision !=
SVNRevision.WORKING &&
@@ -986,6 +1007,12 @@
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
+        // nmueller: start
+        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+            SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
+            SVNErrorManager.error(err);
+        }
+        // nmueller: end
         long[] pegRev = new long[]{-1};
         SVNRepository repos = createRepository(url, null, null,
pegRevision, revision, pegRev);
         revision = pegRev[0] < 0 ? revision :
SVNRevision.create(pegRev[0]);
@@ -1021,6 +1048,12 @@
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
+        // nmueller: start
+        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+            SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
+            SVNErrorManager.error(err);
+        }
+        // nmueller: end
         if (!revision.isValid()) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_BAD_REVISION, "Valid revision
have to be specified to fetch revision property");
             SVNErrorManager.error(err);
@@ -1058,6 +1091,12 @@
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
+        // nmueller: start
+        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+            SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
+            SVNErrorManager.error(err);
+        }
+        // nmueller: end
         if (!revision.isValid()) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_BAD_REVISION, "Valid revision
have to be specified to fetch revision property");
             SVNErrorManager.error(err);

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Normen Müller-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Normen Müller wrote:

> Dear SVNKit,
>
>    using the original svn client performing an
>
> svn propedit svn:entry:schedule .
>
> yields to a
>
> svn: Property 'svn:entry:schedule' is an entry property
>
> exception.  Shouldn't we extend jsvn wrt. refusing such actions?
>
> If yes, I would like to volunteer.
>
> Cheers,
>  /nm
BTW: what is the difference between 'svn:entry' and 'svn:wc'
properties.  Is the former one restricted to versioned entries and the
latter one to entire working copies?

Cheers,
  /nm

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Normen Müller-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This one is even nicer ;-)

Index:
/home/nmueller/svnkit/trunk/svnkit/src/org/tmatesoft/svn/core/wc/SVNWCClient.java
===================================================================
---
/home/nmueller/svnkit/trunk/svnkit/src/org/tmatesoft/svn/core/wc/SVNWCClient.java    
(revision 1431)
+++
/home/nmueller/svnkit/trunk/svnkit/src/org/tmatesoft/svn/core/wc/SVNWCClient.java    
(working copy)
@@ -728,7 +728,9 @@
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_REVISION_AUTHOR_CONTAINS_NEWLINE,
"Value will not be set unless forced");
             SVNErrorManager.error(err);
         }
-        if (propName.startsWith(SVNProperty.SVN_WC_PREFIX)) {
+        // nmueller: start
+        if (SVNProperty.isWorkingCopyProperty(propName)) {
+        // nmueller: end
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
@@ -733,7 +735,7 @@
             SVNErrorManager.error(err);
         }
         // nmueller: start
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+        if (SVNProperty.isEntryProperty(propName)) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
             SVNErrorManager.error(err);
         }
@@ -877,7 +879,9 @@
 
     public void doGetPropertyList(File path, String propName,
SVNRevision pegRevision, SVNRevision revision,
             SVNDepth depth, ISVNPropertyHandler handler, Collection
changeLists) throws SVNException {
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_WC_PREFIX)) {
+        // nmueller: start
+        if (SVNProperty.isWorkingCopyProperty(propName)) {
+        // nmueller: end
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME,
                     "''{0}'' is a wcprop , thus not accessible to
clients", propName);
             SVNErrorManager.error(err);
@@ -883,7 +887,7 @@
             SVNErrorManager.error(err);
         }
         // nmueller: start
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+        if (SVNProperty.isEntryProperty(propName)) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME,
                     "Property ''{0}'' is an entry property", propName);
             SVNErrorManager.error(err);
@@ -941,7 +945,9 @@
 
     public void doGetProperty(File path, String propName, SVNRevision
pegRevision, SVNRevision revision,
             SVNDepth depth, ISVNPropertyHandler handler, Collection
changeLists) throws SVNException {
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_WC_PREFIX)) {
+        // nmueller: start
+        if (SVNProperty.isWorkingCopyProperty(propName)) {
+        // nmueller: end
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME,
                     "''{0}'' is a wcprop , thus not accessible to
clients", propName);
             SVNErrorManager.error(err);
@@ -947,7 +953,7 @@
             SVNErrorManager.error(err);
         }
         // nmueller: start
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+        if (SVNProperty.isEntryProperty(propName)) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME,
                     "Property ''{0}'' is an entry property", propName);
             SVNErrorManager.error(err);
@@ -1003,7 +1009,9 @@
     }
 
     public void doGetProperty(SVNURL url, String propName, SVNRevision
pegRevision, SVNRevision revision, SVNDepth depth, ISVNPropertyHandler
handler) throws SVNException {
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_WC_PREFIX)) {
+        // nmueller: start
+        if (SVNProperty.isWorkingCopyProperty(propName)) {
+        // nmueller: end
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
@@ -1008,7 +1016,7 @@
             SVNErrorManager.error(err);
         }
         // nmueller: start
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+        if (SVNProperty.isEntryProperty(propName)) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
             SVNErrorManager.error(err);
         }
@@ -1044,7 +1052,9 @@
      * @see
#doSetRevisionProperty(File,SVNRevision,String,String,boolean,ISVNPropertyHandler)
      */
     public void doGetRevisionProperty(File path, String propName,
SVNRevision revision, ISVNPropertyHandler handler) throws SVNException {
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_WC_PREFIX)) {
+        // nmueller: start
+        if (SVNProperty.isWorkingCopyProperty(propName)) {
+        // nmueller: end
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
@@ -1049,7 +1059,7 @@
             SVNErrorManager.error(err);
         }
         // nmueller: start
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+        if (SVNProperty.isEntryProperty(propName)) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
             SVNErrorManager.error(err);
         }
@@ -1087,7 +1097,9 @@
      * @see
#doSetRevisionProperty(SVNURL,SVNRevision,String,String,boolean,ISVNPropertyHandler)
      */
     public long doGetRevisionProperty(SVNURL url, String propName,
SVNRevision revision, ISVNPropertyHandler handler) throws SVNException {
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_WC_PREFIX)) {
+        // nmueller: start
+        if (SVNProperty.isWorkingCopyProperty(propName)) {
+        // nmueller: end
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "''{0}'' is a
wcprop , thus not accessible to clients", propName);
             SVNErrorManager.error(err);
         }
@@ -1092,7 +1104,7 @@
             SVNErrorManager.error(err);
         }
         // nmueller: start
-        if (propName != null &&
propName.startsWith(SVNProperty.SVN_ENTRY_PREFIX)) {
+        if (SVNProperty.isEntryProperty(propName)) {
             SVNErrorMessage err =
SVNErrorMessage.create(SVNErrorCode.CLIENT_PROPERTY_NAME, "Property
''{0}'' is an entry property", propName);
             SVNErrorManager.error(err);
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Alexander Sinyushkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Normen,

answering to your question, svn:wc properties are specific only for the
DAV protocol and are used by repository access layer in http requests.
They reside in their own all-wc-props file in a .svn directory. I think
it's a bug that SVNKit allows modifying them. svn:entry properties are
also used by the version control system itself and must not be
accessible to users.

----
Alexander Sinyushkin,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!

Normen Müller wrote:

> Dear SVNKit,
>
>    using the original svn client performing an
>
> svn propedit svn:entry:schedule .
>
> yields to a
>
> svn: Property 'svn:entry:schedule' is an entry property
>
> exception.  Shouldn't we extend jsvn wrt. refusing such actions?
>
> If yes, I would like to volunteer.
>
> Cheers,
>  /nm
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
> For additional commands, e-mail: svnkit-users-help@...
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Normen Müller-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alexander Sinyushkin wrote:
> Hello Normen,
>
> answering to your question, svn:wc properties are specific only for
> the DAV protocol and are used by repository access layer in http
> requests. They reside in their own all-wc-props file in a .svn
> directory. I think it's a bug that SVNKit allows modifying them.
No, it was my fault!  SVNKit refuses editing of 'svn:wc' properties.
But, anyway, thank you very much for the explanation.

> svn:entry properties are also used by the version control system
> itself and must not be accessible to users.
Yeah, that was a minor bug in svnkit.  I already sent you a patch
(actually I sent two, but I would recommend the second one)

So to get this right, svn:entry is not related to DAV, right?  It is
used by svn in general to, for example, schedule an add.  With
''gerneral'' I mean, this property is not related to some specific
protocol or sth. similar, but belongs to the ''core'' of svn.

BTW, I am asking these questions cause I want to extend svn/ svnkit by
further untweakable meta-properties.  For sure I will use my own prefix,
but I want to treat those similar to svn:entry.

Cheers,
  /nm

>
> ----
> Alexander Sinyushkin,
> TMate Software,
> http://svnkit.com/ - Java [Sub]Versioning Library!
>
> Normen Müller wrote:
>> Dear SVNKit,
>>
>>    using the original svn client performing an
>>
>> svn propedit svn:entry:schedule .
>>
>> yields to a
>>
>> svn: Property 'svn:entry:schedule' is an entry property
>>
>> exception.  Shouldn't we extend jsvn wrt. refusing such actions?
>>
>> If yes, I would like to volunteer.
>>
>> Cheers,
>>  /nm
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
>> For additional commands, e-mail: svnkit-users-help@...
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
> For additional commands, e-mail: svnkit-users-help@...
>


---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: svn entry property

by Alexander Sinyushkin-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Normen,

 > So to get this right, svn:entry is not related to DAV, right?  It is
 > used by svn in general to, for example, schedule an add.  With
 > ''gerneral'' I mean, this property is not related to some specific
 > protocol or sth. similar, but belongs to the ''core'' of svn.

Yes, svn:entry properties are common for a working copy format. I mean
they are used to store some metainformation on versioned items.

 >
 > BTW, I am asking these questions cause I want to extend svn/ svnkit by
 > further untweakable meta-properties.  For sure I will use my own prefix,
 > but I want to treat those similar to svn:entry.

Committed your bugfixes in trunk in revision 4236. Thank you!

----
Alexander Sinyushkin,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!

Normen Müller wrote:

> Alexander Sinyushkin wrote:
>> Hello Normen,
>>
>> answering to your question, svn:wc properties are specific only for
>> the DAV protocol and are used by repository access layer in http
>> requests. They reside in their own all-wc-props file in a .svn
>> directory. I think it's a bug that SVNKit allows modifying them.
> No, it was my fault!  SVNKit refuses editing of 'svn:wc' properties.
> But, anyway, thank you very much for the explanation.
>
>> svn:entry properties are also used by the version control system
>> itself and must not be accessible to users.
> Yeah, that was a minor bug in svnkit.  I already sent you a patch
> (actually I sent two, but I would recommend the second one)
>
> So to get this right, svn:entry is not related to DAV, right?  It is
> used by svn in general to, for example, schedule an add.  With
> ''gerneral'' I mean, this property is not related to some specific
> protocol or sth. similar, but belongs to the ''core'' of svn.
>
> BTW, I am asking these questions cause I want to extend svn/ svnkit by
> further untweakable meta-properties.  For sure I will use my own prefix,
> but I want to treat those similar to svn:entry.
>
> Cheers,
>  /nm
>>
>> ----
>> Alexander Sinyushkin,
>> TMate Software,
>> http://svnkit.com/ - Java [Sub]Versioning Library!
>>
>> Normen Müller wrote:
>>> Dear SVNKit,
>>>
>>>    using the original svn client performing an
>>>
>>> svn propedit svn:entry:schedule .
>>>
>>> yields to a
>>>
>>> svn: Property 'svn:entry:schedule' is an entry property
>>>
>>> exception.  Shouldn't we extend jsvn wrt. refusing such actions?
>>>
>>> If yes, I would like to volunteer.
>>>
>>> Cheers,
>>>  /nm
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
>>> For additional commands, e-mail: svnkit-users-help@...
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
>> For additional commands, e-mail: svnkit-users-help@...
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
> For additional commands, e-mail: svnkit-users-help@...
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...