ignore property not ignoring...

10 views
Skip to first unread message

Edward Ned Harvey (svn4)

unread,
Jan 10, 2014, 5:17:01 PM1/10/14
to us...@subversion.apache.org

Can someone please explain this to me?  I would expect "bin" and "obj" not to show up in the "svn status" command, because of the svn:global-ignores property.

 

I am aware that there exists such a thing as svn:ignore, and I notice that svn:global-ignores is not the same thing...  But (a) the distinction is not entirely clear to me, (b) the obvious distinction is global versus not global, in which case, I would expect the global property to still behave as expected in this case, and (c) the svn:global-ignores property was set using TortoiseSVN, and it works as expected in windows.  The confusion comes about when using the "svn" command line on mac.  The behavior of "svn status" on mac command line is different from the behavior of TortoiseSVN Check For Modifications on windows.  Mac still shows those directories, while Tortoise doesn't.

 

The mac client is 1.7, and the windows client is 1.8 if that makes any difference.  These are separate working copies.  I would not expect the two clients to be compatible with each other on a shared WC.

 

svn proplist -v src/FooBar

Properties on 'src/FooBar:

  svn:global-ignores

    bin

    obj

   

svn status src/FooBar

?       src/FooBar/bin

?       src/FooBar/obj

 

Dave Huang

unread,
Jan 10, 2014, 5:26:33 PM1/10/14
to Edward Ned Harvey (svn4), us...@subversion.apache.org

On Jan 10, 2014, at 16:17, Edward Ned Harvey (svn4) <sv...@nedharvey.com> wrote:

> Can someone please explain this to me? I would expect "bin" and "obj" not to show up in the "svn status" command, because of the svn:global-ignores property.

> The mac client is 1.7, and the windows client is 1.8 if that makes any difference. These are separate working copies. I would not expect the two clients to be compatible with each other on a shared WC.

It does; svn:global-ignores is new to SVN 1.8. http://subversion.apache.org/docs/release-notes/1.8.html#repos-dictated-config

If you upgrade the Mac client to 1.8.x, it should honor svn:global-ignores.
--
Name: Dave Huang | Mammal, mammal / their names are called /
INet: kh...@azeotrope.org | they raise a paw / the bat, the cat /
FurryMUCK: Dahan | dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 38 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++

Edward Ned Harvey (svn4)

unread,
Jan 10, 2014, 5:29:36 PM1/10/14
to Dave Huang, us...@subversion.apache.org
> From: Dave Huang [mailto:kh...@azeotrope.org]
>
> It does; svn:global-ignores is new to SVN 1.8.
> http://subversion.apache.org/docs/release-notes/1.8.html#repos-dictated-
> config

That's just about the last thing I expected, but it makes perfect sense now. Thanks.


> If you upgrade the Mac client to 1.8.x, it should honor svn:global-ignores.

Easier said than done. svn ships with XCode, distributed in the App Store, which I have the latest installed today...
But no problem. I can workaround by setting svn:ignore instead.

Thanks again.

Edward Ned Harvey (svn4)

unread,
Jan 10, 2014, 6:02:17 PM1/10/14
to Dave Huang, us...@subversion.apache.org
> From: Edward Ned Harvey (svn4) [mailto:sv...@nedharvey.com]
>
> But no problem. I can workaround by setting svn:ignore instead.

Uggh. I *thought* this would be easy.

Even though I have svn:ignore set on some directories, TortoiseSVN 1.8 and cygwin svn 1.8 fail to ignore the stuff specified. It seems, I *must* add the svn:global-ignores property in order to get svn 1.8 to ignore.

Likewise, of course having svn:global-ignores set on those directories fails for svn 1.7. So I have to just duplicate the svn:ignore and svn:global-ignores properties everywhere that anything needs to be ignored.

:-(

Eric Johnson

unread,
Jan 10, 2014, 6:04:57 PM1/10/14
to Edward Ned Harvey (svn4), Dave Huang, us...@subversion.apache.org

On 1/10/14, 2:29 PM, Edward Ned Harvey (svn4) wrote:
> Easier said than done. svn ships with XCode, distributed in the App Store, which I have the latest installed today...
> But no problem. I can workaround by setting svn:ignore instead.
I install Subversion on the Mac via MacPorts, which has had 1.8.X for
quite some time. You might try that route, rather than just relying on
XCode.

Eric

Edward Ned Harvey (svn4)

unread,
Jan 10, 2014, 6:17:46 PM1/10/14
to Dave Huang, us...@subversion.apache.org
> From: Edward Ned Harvey (svn4) [mailto:sv...@nedharvey.com]
>
> So I have to just duplicate the svn:ignore and svn:global-ignores
> properties everywhere that anything needs to be ignored.

Sorry, clarification:

In tortoise, I check the properties of some directory, and it shows "svn:ignore bin obj" and some other stuff. But it's gray. So I assume it's inherited from a parent, and effective at this level, and then it turns out, not to be effective. I go to command prompt, and I see in fact, those properties are set on the root directory, and *not* on the subdirectory. I don't know why it's displaying grayed out, but if I explicitly set that property on that directory, then it works.

So I guess this is mostly a usage issue. I could go talk to the tortoise folks about why it's showing gray, when it's not effective... And I could complain that when you click on "add to ignores" the default is now to use global-ignores rather than ignore... But it's not worth it.

Thanks for your help. I think it's under control now.

Branko Čibej

unread,
Jan 10, 2014, 6:28:26 PM1/10/14
to us...@subversion.apache.org
On 11.01.2014 00:17, Edward Ned Harvey (svn4) wrote:
From: Edward Ned Harvey (svn4) [mailto:sv...@nedharvey.com]

So I have to just duplicate the svn:ignore and svn:global-ignores
properties everywhere that anything needs to be ignored.
Sorry, clarification:

In tortoise, I check the properties of some directory, and it shows "svn:ignore bin obj" and some other stuff.  But it's gray.  So I assume it's inherited from a parent, and effective at this level, and then it turns out, not to be effective.

svn:ignore only affects the directory on which it is defined, not its children.


  I go to command prompt, and I see in fact, those properties are set on the root directory, and *not* on the subdirectory.  I don't know why it's displaying grayed out, but if I explicitly set that property on that directory, then it works.

So I guess this is mostly a usage issue.  I could go talk to the tortoise folks about why it's showing gray, when it's not effective...

In 1.8, all properties are inheritable. Of course, Tortoise could be smart enough to know the meaning of the standard properties, but from the point of view of strict semantics, it's correct.


 And I could complain that when you click on "add to ignores" the default is now to use global-ignores rather than ignore...  But it's not worth it.

That choice is a bit harder to argue for. :)

-- Brane


--
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com

Edwin Castro

unread,
Jan 10, 2014, 6:53:23 PM1/10/14
to us...@subversion.apache.org
On 1/10/14, 2:29 PM, Edward Ned Harvey (svn4) wrote:
>
>> > If you upgrade the Mac client to 1.8.x, it should honor svn:global-ignores.
> Easier said than done. svn ships with XCode, distributed in the App Store, which I have the latest installed today...
> But no problem. I can workaround by setting svn:ignore instead.

I use svn client installed by macports. It's current version is 1.8.5.

You could replace XCode's svn binaries with symlinks to the version
installed by macports. XCode's svn binaries are found at
/Applications/Xcode.app/Contents/Developer/usr/bin.

--
Edwin

Ryan Schmidt

unread,
Jan 10, 2014, 8:36:11 PM1/10/14
to Edwin Castro, Subversion Users
You should not modify Apple software. Things may break.

Edward Ned Harvey (svn4)

unread,
Jan 11, 2014, 9:18:30 AM1/11/14
to Edwin Castro, us...@subversion.apache.org
> From: Edwin Castro [mailto:0ptik...@gmx.us]
>
> I use svn client installed by macports. It's current version is 1.8.5.

I've been down that road before. Macports is mostly reliable, but not entirely reliable. And every time you apply some update to XCode, apple replaces with default binaries again, which you won't know by default, until you step into some pitfall and waste time figuring it out. And I've run into a lot of conflicts between macports and homebrew...

If you need 1.8, I'll agree, thanks to macports, there *is* a solution available. But I'm choosing not to go that route... Thanks...

Edwin Castro

unread,
Jan 12, 2014, 2:50:58 AM1/12/14
to us...@subversion.apache.org
Sure, no problem. Then you'll need to specify svn:ignore on each
directory where it applies or set it in your subversion configuration
(which only applies to you) ...

FYI: I don't use homebrew but
https://github.com/Homebrew/homebrew/blob/master/Library/Formula/subversion.rb
suggests they have subversion at 1.8.5.

--
Edwin

Ryan Schmidt

unread,
Jan 12, 2014, 2:52:42 AM1/12/14
to Edward Ned Harvey (svn4), Edwin Castro, Subversion Users
On Jan 11, 2014, at 08:18, Edward Ned Harvey wrote:

>> I use svn client installed by macports. It's current version is 1.8.5.
>
> I've been down that road before. Macports is mostly reliable, but not entirely reliable.

I’m a manager of the MacPorts project. If you’re experiencing any problems with MacPorts, please contact us on the macports-users mailing list or file a ticket in our issue tracker.


> And every time you apply some update to XCode, apple replaces with default binaries again, which you won't know by default, until you step into some pitfall and waste time figuring it out.

Yes, you should not replace Apple software; that route only leads to sadness.


> And I've run into a lot of conflicts between macports and homebrew…

That’s to be expected. Use one package manager only, not a mix of two or more; more sadness there.


> If you need 1.8, I'll agree, thanks to macports, there *is* a solution available. But I'm choosing not to go that route... Thanks...

MacPorts Subversion works fine; I use it daily.

Bob Archer

unread,
Jan 13, 2014, 11:03:07 AM1/13/14
to Edward Ned Harvey (svn4), Dave Huang, us...@subversion.apache.org
In 1.8 all properties are automatically inherited. Tortoise SVN shows those as gray so you know they were inherited. That said, the 1.8 client only acts on specific properties that were inherited. svn:global-ignores and svn:auto-props. I think there was some talk on the TSVN list to have a check box to "show inherited". But, not sure if that will happen.

>
> Thanks for your help. I think it's under control now.

BOb

Reply all
Reply to author
Forward
0 new messages