svn:ignore erroneously reported as inherited

130 views
Skip to first unread message

David Kelley

unread,
Jan 27, 2022, 5:21:50 PM1/27/22
to TortoiseSVN
When I set svn:ignore on a directory, its child directory lists it as inherited.  This happens even when "Apply property recursively" is not checked.  I think the issue is with the Properties dialog box because the commit dialog box does not do this incorrect ignore on subdirectories.  Attached are screen captures of what I'm seeing and version information.  In my example I have the following directories: trunk, trunk\subdir.  Setting svn:ignore on trunk is inherited by trunk\subdir.

trunk.png
version.png
subdir.png

Stefan

unread,
Jan 28, 2022, 1:48:42 PM1/28/22
to TortoiseSVN
you misunderstand how properties work:

most svn:* properties get inherited automatically by child dirs. So that's what you're seeing.
Custom properties however are not inherited. There you have to set the property recursively so the property gets set on every child folder again.


David Kelley

unread,
Jan 28, 2022, 6:24:47 PM1/28/22
to TortoiseSVN
Thanks for your helpful response.  There is some inconsistency somewhere because when I do an "SVN commit" in the subdirectory, the svn:ignore is not being used.  If what you described is true, an "ignoreme.txt" file in a subdirectory should not show up in the commit window.  I've attached screen captures to demonstrate this inconsistency.

Also, there is an svn:global-ignores property that is explicitly documented to be inherited by subdirectories.  Why would that exist if svn:ignore was supposed to be inherited?  Here's a link that shows the two properties: https://svnbook.red-bean.com/nightly/en/svn.advanced.props.html

I look forward to more feedback from you.
2.png
3.png
1.png

Stefan

unread,
Jan 29, 2022, 2:26:58 AM1/29/22
to TortoiseSVN
yes, it seems inconsistent. And it actually is, I have to admit.
The fact that a property is inherited does not mean that it is used when inherited.
For example, all svn properties are always inherited, but only the svn:auto-props and svn:global-ignores are used that way. All others, while marked as inherited, are only used on the item they're set.

TSVN shows you what the svn lib (and the command line client) tells it to. You can try the same with the CL client:
$ svn propget svn:ignore --show-inherited-props


David Kelley

unread,
Jan 29, 2022, 9:28:40 AM1/29/22
to TortoiseSVN on behalf of Stefan
Awesome.  I was not aware of that nuance in how property inheritance works.  I appreciate you taking the time to explain it to me.

David Kelley

--
You received this message because you are subscribed to the Google Groups "TortoiseSVN" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tortoisesvn...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tortoisesvn/09f2d7dd-14c5-4c9d-9ce5-1b71231e5490n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages