[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: [TSVN] Is Exclude List currently Broken? FOUND & BUG?

From: Moretti, Giovanni <G.Moretti_at_massey.ac.nz>
Date: 2004-12-09 04:55:01 CET

Hello Lübbe

Thanks for your thoughts

> I like your exclude list (Delphi rules) :-)
>
> Mine is: *.~* *.bak *.ddp *.dcu and it works perfectly.
 
>> I thought the "Exclude list: was effectively the same thing as
>> "svn:ignore" but worked on all files/directories.

> In principle yes. Please take a look at your subversion config file.
> You can edit it from the TSVN settings dialog. It has a
> global-ignores section which may conflict with the TSVN exclude list.

Clever lad - you found it ...

> I'm not sure, which one wins if you have configured something there
> as well. (Should read my own docs should I ;-)

I'd forgotten I'd set up the global-ignores, and as it turned out, got it wrong.
I'd used semicolons not spaces to separate the items:

 global-ignores = thumbs.db;*.exe;*.dll;*.obj;*.ncb;*.lib;*.idb;*.pdb;
                  *.ilk;*.msi;*.res;*.pch;*.suo;*.aps;*.*~;*.~*;~*.*;
                  cvs\;release\;debug\;*.dcu
   (all on one line)

I have some vague memory about semicolons being needed from an early revision.

Anyway, commenting out the "global-ignores" line in

  C:\Documents and Settings\MyName\Application Data\Subversion\config

caused the "excludes list" in TortoiseSVN settings to work perfectly!

Now here's the interesting part, it wasn't that I'd used semicolons - changing these to spaces (which should be OK) DOESN'T fix it

BUG???
==============================================================
Having ANY "global-ignores" line active in the "config" file
causes the TortoiseSVN "Exclude" settings to Stop working!!!
==============================================================

I tried:
global-ignores=
global-ignores = *.xxx

When any of these were there, ALL unversioned files were shown in the commit dialog even though they matched patterns in the exclude list.

The only thing that works is commenting out the "global-ignores" line!

Just for reference, I've included my config file below ...

I'm pretty sure this is a bug ...

INCONSISTENCY (maybe related to Subversion, not TortoiseSVN):

In the "config" file, the comments related to "global-ignores" states that the patterns should be white-space separated, but the "readme" file in the same folder as the "config" file states:

   - When a value is a list, it is comma-separated. Again, the
     whitespace around each element of the list is trimmed.

SUGGESTION - for TORTOISESVN:
Have an "Use This Editor" option so Notepad isn't automatically used to edit the "config" file. Mine had unix line-endings which notepad doesn't understand. I'd like to point it at Editor2.exe, a tiny notepad replacement.

Thanks for Listening
Giovanni

==================== Subversion CONFIG file ====================

Using the following config file causes TortoiseSVN to show
files that match the Exclude list in the commit dialog.

Commenting out the "global-ignores" line fixes it:

The long "global-ignores line is a single line (may get wrapped)
================================================================

### 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.
### Set store-auth-creds to 'no' to avoid storing your subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'. Note that this option only prevents
### saving of *new* credentials; it doesn't invalidate existing
### caches. (To do that, remove the cache files by hand.)
# [auth]
# store-auth-creds = no

### Section for configuring external helper applications.
### Set editor 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).
### 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.
### 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.
### Set diff3-has-program-arg to 'true' or 'yes' if your 'diff3'
### program accepts the '--diff-program' option.
# [helpers]
# editor-cmd = editor (vi, emacs, notepad, etc.)
# diff-cmd = diff_program (diff, gdiff, etc.)
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
# diff3-has-program-arg = [true | false]

### 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

### 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.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
# global-ignores = thumbs.db *.exe *.dll *.obj *.ncb *.lib *.idb *.pdb *.ilk *.msi *.res *.pch *.suo *.aps *.*~ *.~* ~*.* cvs\ release\ debug\ *.dcu

global-ignores = *.xxx

### 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 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

### Section for configuring automatic properties.
### 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 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.
# [auto-props]
# *.c = svn:eol-style=native
# *.cpp = svn:eol-style=native
# *.h = 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
# *.png = svn:mime-type=image/png
# *.jpg = svn:mime-type=image/jpeg
# Makefile = svn:eol-style=native

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Dec 9 04:56:17 2004

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.