Purely looking at the task's code with no verifications or running it locally,
I am pretty sure it was never meant to work with directories in the patterns.
In StarTeamCheckout.java, in the processFile method, at the top it has:
String filename = eachFile.getName();
File localFile = new File(targetFolder, filename);
if (!shouldProcess(filename)) {
but this will only compare the name of the file to the patterns, not the full
repository path.
To change it to compare paths, you would instead change these lines to do this:
File localFile = new File(targetFolder, eachFile.getName());
if (!shouldProcess(getFullRepositoryPath(eachFile))) {
This should change it to use the whole path when comparing patterns without
having any other affects on the task. Also, the documentation doesn't make it
extremely clear, but I am assuming that it is the repository path that patterns
should be based off of as opposed to the local file system path. In this case,
the repository sometimes uses '/' and other times '\' for folder separators in
the path. Therefore, really the getFullRepositoryPath method in TreeBasedTask
could be made to replace all '\' and '/' with File.seperator (to standardize
what the server returns) and the matchPatterns method in the TreeBasedTask.java
would need to be changed to use DirectoryScanner.matchPath instead of just
DirectoryScanner.match - of course this would impact the other StarTeam tasks
which could undergo similar enhancements.
Ben Burgess
-----Original Message-----
From: Simple Easy [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 26, 2008 4:26 AM
To: [email protected]
Subject: stcheckout, unable to excludes directories
Hi,
<stcheckout servername="${stserver}"
serverport="${stport}"
projectname="${stproject}"
rootstarteamfolder="${rootserver.dir}"
viewname="${stview}"
username="${stuser}"
password="${stpassword}"
createworkingdirs="true"
recursive="true"
rootlocalfolder="${build.dir}"
forced="true"
excludes="docs/*" />
It still checking out all the files in "docs" folder.
********************************************************************************************
This message, including any attachments, contains confidential information
intended
for a specific individual and purpose, and is protected by law. If you are not
the intended
recipient, please contact the sender immediately by reply e-mail and destroy
all copies.
You are hereby notified that any disclosure, copying, or distribution of this
message, or
the taking of any action based on it, is strictly prohibited.
TIAA-CREF
********************************************************************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]