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

RE: Include / Exclude Path woes Was: TSVNCache and Handles on USB Dri ve

From: Lübbe Onken <l.onken_at_rac.de>
Date: 2006-12-18 11:32:11 CET

Hi Stefan,

You wrote:
> Lübbe Onken wrote:
>> Thats what I would have expected too. I wonder why I have to add a
>> '*' to a path to in-/exclude sub paths. Since I don't understand for
>> what it is for, I play heretic and doubt its necessity:
>> - What is the original reason for this?
>> - Isn't this too complicated?
>> - Is it necessary?
>> - Do we need the '*' to achieve anything that we can't achieve
>> without it?
>> "Exclude C:\" -> Exclude the C: drive and all its folders
>> "Include C:\Delphi" -> Include C:\Delphi and all its versioned
>> subfolders.

Note the second line: "Include C:\Delphi and all its *versioned* subfolders"

>> What does the '*' give me on top of that?
> There is a reason :)
> Some people have unversioned folders inside versioned ones. And they
> don't want those to be included in the cache.
> Imagine the following wc-layout:
> c:\Delphi
> c:\Delphi\src
> c:\Delphi\generatedoutput

Assuming from you next sentence that C:\Delphi and C:\Delphi\src are
versioned and that c:\Delphi\generatedoutput is not.

> Now, if you set c:\Delphi* as the include pattern, then
> c:\Delphi\generatedoutput is included too.

That is exactly the reason why I wrote "Include C:\Delphi" (without "*")
should include C:\Delphi and all its *versioned* subfolders.

> [Explanation SNIP]
> But the tooltips on the pattern edit boxes *clearly* state
> that you have
> to add a '*' to the pattern if you want the subfolders too.

Thanks for reminding me what the tooltip says. I think I have translated it

The hint text also mentions files. Can we explicitly in/exclude a single
file from being monitored?

Basically you are saying the same things that I did, but I'm still asking
what the "*" gives me on top of that. It has some semantics that need to be
documented correctly or it should be dropped.

Back to my original question and your example above. Currently I have to
give TortoiseSVN two include lines to get (almost) what I want.

"Include C:\Delphi" includes only C:\Delphi and neither the versioned
C:\Delphi\src nor the unversioned C:\Delphi\generatedoutput
"Include C:\Delphi\*" includes only C:\Delphi\src and
C:\Delphi\generatedoutput, but not C:\Delphi itself.

"Include C:\Delphi C:\Delphi\*" includes C:\Delphi and all its versioned and
unversioned subfolders, but I don't want C:\Delphi\generatedoutput to be
scanned by the cache. I don't understand the reason why I would want to
include unversioned folders into the scan at all.

To me it looks like there is no intuitive way to tell the cache to scan a
directory and only its versioned subfolders. If I include a directory into
the list, I'd expect TortoiseSVN to follow the same recursion as 'svn st -v'
does. If the directory is versioned, 'svn st -v' crawls all the versioned
subfolders. If the directory is unversioned, 'svn st -v' tells you that it
is not a working copy.

A logical Syntax (for me :-)) would be:
Include C:\Delphi -> Includes C:\Delphi and its *versioned* subfolders
Include C:\Delphi\* -> Includes C:\Delphi and *all* its subfolders

If C:\Delphi itself is versioned, then "Include C:\Delphi" would do exactly
what I want. Include C:\Delphi and all its versioned folders. Ignore all
C:\Delphi\generated stuff.

If C:\Delphi is unversioned, but contains a lot of working copies, then
"Include C:\Delphi\*" would do exactly what I want. Include all subfolders
of C:\Delphi, but in the end crawl only into the versioned folders. If a new
WC is checked out into C:\Delphi, it will match C:\Delphi\* and be added to
the crawl. If I just "mkdir C:\Delphi\blankfolder", it matches C:\Delphi\*
but a "svn st -v" will fail and it will not be scanned.

My understanding of how it "should" be. But life is never that simple, so
give me a reason why I need two include lines for one folder :)

- Lübbe

  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Mon Dec 18 11:32:26 2006

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