asdlei00 / tortoisesvn

Automatically exported from code.google.com/p/tortoisesvn
0 stars 0 forks source link

inherited properties give unexpected results #665

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
reported on the mailing list:
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=30881
78

In the SVN Properties dialog for a single folder, I can see inherited 
properties in gray, and the extra column showing the path of inheritance. This 
is all fine, except there should be an (advanced?) option to show/hide 
inherited props (just like the --show-inherited-props option in the svn command 
line).

The unexpected/unwanted behavior appears when selecting an inherited property 
from the list, pressing Edit (Default) and then directly pressing OK inside the 
editor dialog. Voila, the inherited property value(s) become actual value(s)! 
This is unexpected as Edit followed by OK should not have side-effects. 

If we instead press Edit (Advanced) and then OK, the property value is 
untouched, as it should be. However, inherited property values are visible in 
all editors which is misleading since there is no way (inside the editor 
dialog) to tell whether they are inherited or actual values.

I stumbled hard on this when I added an svn:externals property on a folder. 
When I pressed New (Externals) there was already an existing (so I thought) 
external definition which I did not touch, since I just wanted to add my new 
external. Some day later after merging this change to some other branches, I 
discovered that I had added not one but two new external values, since the 
"existing" value had not previously existed on that folder but was inherited 
down into the property New/Edit dialog.

The results of this confusion is perhaps most aggravating for the svn:externals 
property, but it is also rather confusing for "combined" properties like 
bugtraq:* and tsvn:* where the Default editor modifies multiple properties when 
pressing OK.

To fix this confusion, I would suggest that both property editors (Default and 
Advanced) by default show only actual values (like before in 1.7.x), and that a 
new button or checkbox is added to explicitly "insert/clone/inherit" the 
inherited value(s) (on demand).

Also, the above suggested option to hide/show inherited values would help 
remove unwanted clutter. It is not always desirable to see all inherited 
values, and for some properties like svn:externals the inheritance makes less 
sense...

Original issue reported on code.google.com by tortoisesvn on 11 Sep 2014 at 11:16

GoogleCodeExporter commented 9 years ago
I think it doesn't make sense to pre-fill the property edit dialog with the 
values of inherited properties. Either the inerhited values are used, or 
different values are needed.
This would make it easier to fix this: simply check whether the property is 
inherited and only if not proceed as before and if yes open the edit dialog 
without pre-filling the values.

Original comment by tortoisesvn on 11 Sep 2014 at 12:09

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r25853.

Original comment by tortoisesvn on 11 Sep 2014 at 12:27

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r25857.

For multi-property dialogs, only fill those property values in that are not 
inherited.

Original comment by tortoisesvn on 13 Sep 2014 at 12:01

GoogleCodeExporter commented 9 years ago
This issue was closed by revision r25858.

Original comment by tortoisesvn on 13 Sep 2014 at 12:42