Svn – Subversion: Wrong global-ignores / can’t see mime-types

mime-typerevision-controlsvn

I'm currently testing Subversion on a Server. As you can see in my config file below, I did following edits:

A: I added global ignores:

global-ignores = *thumb.db *.tmp

B: I enabled auto-props and added some extensions to be set as a specific mime-type:

enable-auto-props = yes

*.rtf = svn:mime-type=application/rtf

...

* = svn:mime-type=application/octet-stream

As you can see, I want everything binary except of the defined ones.

My problems

A: In Tortoise it shows me the following:

enter image description here

But I didn't define these global ignores! How can I do that it reads them from my config file?

When I click on "Edit", it opens my config file.

B: When I want to check the mime types, it doesn't show me anything:

G:\csmdepot_newtags_edited_config\csmdepot>svn proplist 

CSMVersion.iniG:\csmdepot_newtags_edited_config\csmdepot>

The same thing happens with Tortoise, it doesn't show me any properties:

http://i.imgur.com/wreyxv1.png

What can I do to see the mime-types of my files?

Here my config file:

 ### This file configures various client-side behaviors.
###
### The commented-out examples below are intended to demonstrate
### how to use this file.

### Section for authentication and authorization customizations.
[auth]
### Set password stores used by Subversion. They should be
### delimited by spaces or commas. The order of values determines
### the order in which password stores are used.
### Valid password stores:
###   gnome-keyring        (Unix-like systems)
###   kwallet              (Unix-like systems)
###   keychain             (Mac OS X)
###   windows-cryptoapi    (Windows)
# password-stores = windows-cryptoapi
### To disable all password stores, use an empty list:
# password-stores =
###
### The rest of the [auth] section in this file has been deprecated.
### Both 'store-passwords' and 'store-auth-creds' can now be
### specified in the 'servers' file in your config directory
### and are documented there. Anything specified in this section 
### is overridden by settings specified in the 'servers' file.
# store-passwords = no
# store-auth-creds = no

### Section for configuring external helper applications.
[helpers]
### Set editor-cmd to the command used to invoke your text editor.
###   This will override the environment variables that Subversion
###   examines by default to find this information ($EDITOR, 
###   et al).
# editor-cmd = editor (vi, emacs, notepad, etc.)
### Set diff-cmd to the absolute path of your 'diff' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff implementation.
# diff-cmd = diff_program (diff, gdiff, etc.)
### Diff-extensions are arguments passed to an external diff
### program or to Subversion's internal diff implementation.
### Set diff-extensions to override the default arguments ('-u').
# diff-extensions = -u -p
### Set diff3-cmd to the absolute path of your 'diff3' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff3 implementation.
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
### Set diff3-has-program-arg to 'yes' if your 'diff3' program
###   accepts the '--diff-program' option.
# diff3-has-program-arg = [yes | no]
### Set merge-tool-cmd to the command used to invoke your external
### merging tool of choice. Subversion will pass 5 arguments to
### the specified command: base theirs mine merged wcfile
# merge-tool-cmd = merge_command

### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.  A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined.  The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces.  The command will be invoked as:
###   <command> <hostname> svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as <user>@<hostname>.)  If the
### built-in ssh scheme were not predefined, it could be defined
### as:
# ssh = $SVN_SSH ssh -q
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator.  A single backslash will be treated as an
### escape for the following character.

### Section for configuring miscelleneous Subversion options.
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.
global-ignores = *thumb.db *.tmp
#   *.rej *~ #*# .#* .*.swp .DS_Store
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
# use-commit-times = yes
### Set no-unlock to prevent 'svn commit' from automatically
### releasing locks on files.
# no-unlock = yes
### Set mime-types-file to a MIME type registry file, used to
### provide hints to Subversion's MIME type auto-detection
### algorithm.
# mime-types-file = /path/to/mime.types
### Set preserved-conflict-file-exts to a whitespace-delimited
### list of patterns matching file extensions which should be
### preserved in generated conflict file names.  By default,
### conflict files use custom extensions.
# preserved-conflict-file-exts = doc ppt xls od?
### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
enable-auto-props = yes
### Set interactive-conflicts to 'no' to disable interactive
### conflict resolution prompting.  It defaults to 'yes'.
# interactive-conflicts = no
### Set memory-cache-size to define the size of the memory cache
### used by the client when accessing a FSFS repository via
### ra_local (the file:// scheme). The value represents the number
### of MB used by the cache.
# memory-cache-size = 16

### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match (case-insensitively) will be
### applied to the file.  Note that auto-props functionality
### must be enabled, which is typically done by setting the
### 'enable-auto-props' option.
# *.c = svn:eol-style=native
# *.cpp = svn:eol-style=native
# *.h = svn:keywords=Author Date Id Rev URL;svn:eol-style=native
# *.dsp = svn:eol-style=CRLF
# *.dsw = svn:eol-style=CRLF
# *.sh = svn:eol-style=native;svn:executable
# *.txt = svn:eol-style=native;svn:keywords=Author Date Id Rev URL;
*.rtf = svn:mime-type=application/rtf
*.jpg = svn:mime-type=image/jpeg
*.png = svn:mime-type=image/png
*.gif = svn:mime-type=image/gif
*.xml = svn:mime-type=text/xml
*.html = svn:mime-type=text/html
*.txt = svn:mime-type=text/plain
*.ini = svn:mime-type=text/plain
*.vbs = svn:mime-type=text/plain
*.cmd = svn:mime-type=text/plain
*.bat = svn:mime-type=text/plain
*.ps1 = svn:mime-type=text/plain
*.wsf = svn:mime-type=text/plain
*.cfg = svn:mime-type=text/plain
*.inf = svn:mime-type=text/plain
*.config = svn:mime-type=text/plain
* = svn:mime-type=application/octet-stream

Thank you!

Best Answer

You havemust to understand some things

  • when you change anything in %APPDATA\Subversion\config, you change behavior of Subversion client on interacting with all and any repositories with this host's svn client, runnging by this user
  • these changes are local and they are not copied|stored on server side (to some degree), different clients for the same repo may have different (and even incompatible) settings
  • TortoiseSVN have own additional settings on top of system defaults, but use global settings also
  • Autoproperties in Subversion define additional properties, which will be added to files on first commit into repo (after svn add), f you want to test auto-props, you have to commit into repository any file, for which these properties have to be applied and verify results for files in question only (in your case, if you use proplist inside WC /I can't see target in command/, you have to use -R /recursive/ fkag in ordfer to list all objects in tree, directory itself can't have mime-type)
  • "*" is invalid filename-pattern (for Windows), and for this reason your ini haven't redefined mime-type (try ., but I can't predict mime/type for specially defined extensions)