svn propget svn:ignore . returns nothing, but svn is obviously ignoring my files
Asked Answered
C

3

8

I'm trying to add an existing iPhone project to a subversion account on unfuddle.com.

Everything seems smooth except for some .a files which are ignored. I know they are ignored because I don't see them in svn status unless I use the --no-ignore flag.

When I run

  svn propget svn:ignore .

I get no output. To make sure I wasn't crazy I ran

  svn propget --xml svn:ignore .

and get this

<?xml version="1.0"?>
<properties>
</properties>

Which means there are no entries in the ignore property?

How do I find where this ignore is coming from?

Cordova answered 24/1, 2010 at 0:6 Comment(5)
What happens (i.e. what is returned) when you try to svn add a file explicitly?Monteux
Sounds like a SuperUser question to me...Joly
I thought problems with development tools were fair game on SO.Remittent
"svn add" seems to work just fine. It changes the files status from "I" to "A". The commit worked fine as well. I didn't realize you could override the ignore by explicitly naming the file. Thanks! But I'm still curious where this setting is so I can remove *.a files from the ignore list.Cordova
My comment has been restated and expanded as an answer below.Monteux
C
12

New day. Clear head.

Thanks for the help, it certainly lead me in the right direction.

The answer is there is a default global-ignore list that is built into subversion itself, not the config files, which was where the *.a ignore was coming from.

The global ignores in my config file looked like this:

 #global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
 # *.rej *~ #*# .#* .*.swp .DS_Store

I figured this was fine, because I didn't want to ignore anything. I was wrong because then subversion enforces its scarcely documented default global-ignores. I changed it to this, note the exclusion of '*.a'

 global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo
  *.rej *~ #*# .#* .*.swp .DS_Store

At this point *.a files are no longer ignores, and my .DS_Store file is still ignored, and all is right in my world.

As GraemeF suggested, propget does not retrieve global values for svn:ignore. As Ether suggested, you can add ignored files by naming them explicitly.

The best link I found was here: http://svn.haxx.se/users/archive-2009-02/0725.shtml

This post says to me that there is a non-empty default value for global-ignores that is used if global-ignores is not set in the config file.

Cordova answered 24/1, 2010 at 16:47 Comment(1)
Thanks, this worked for me! If you use Syncro SVN, go to Options > Global Run-Time Configuration > Edit 'config' file. Make the changes above, save, restart & refresh. Also, you can see ignored files in the Working copy tab by clicking Show ignored files under the Settings icon at top right in the toolbar.Daglock
M
2

You can explicitly add the file via svn add <filename> if it isn't getting picked up automatically.

Subversion config files can have files ignored ("global-ignores") -- these are usually in ~/.subversion/config and /etc/subversion/config, but there are other locations as well; see http://svnbook.red-bean.com/en/1.4/svn.advanced.confarea.html.

What command were you using to add the files? If it was svn add *, could it be as simple as the file starting with a .?

Monteux answered 24/1, 2010 at 1:14 Comment(0)
R
1

You can also have globally ignored patterns defined in your Subversion configuration file, so maybe *.a is ignored there. See the Config section of the Subversion book.

Remittent answered 24/1, 2010 at 0:11 Comment(2)
I checked ~/.subversion/config , but the "global-ignores" setting is commented out by default. I thought ignores set in the config would be retrieved in with "svn propget svn:ignore ."Cordova
I haven't checked, but I don't think a propget would include them because they're not properties on the directory, as such.Remittent

© 2022 - 2024 — McMap. All rights reserved.