This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 24587 - ClearCase VOB symbolic links incorrectly shown as Local files
Summary: ClearCase VOB symbolic links incorrectly shown as Local files
Status: RESOLVED INCOMPLETE
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 3.x
Hardware: PC Windows 3.1/NT
: P3 blocker with 2 votes (vote)
Assignee: issues@obsolete
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-10 13:29 UTC by ats37
Modified: 2011-09-19 23:04 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ats37 2002-06-10 13:29:51 UTC
In a mounted ClearCase FS, I have some directory entries 
which are VOB Symbolic links to files elsewhere in the 
VOB.  However, in the Explorer window, these are listed 
with "[Local]" beside them which is incorrect.

This is because the "cleartool ls" output for those entries 
doesn't contain the "@@" status separator that 
ClearCaseListCommand.outputData(String[]) uses to tell 
versioned and local files apart.  Instead, there is a "-->" 
followed by the path to the linked file.

e.g.
R:\lib>cleartool ls
GTG-ejbclient.jar --> ..\..\..\..\easerverutils\builds\GTG-
ejbclient.jar
log4j.jar@@\main\1                                       
Rule: \main\LATEST
PFD-ejbclient.jar --
> ..\..\..\..\..\corporate_layer\Builds\PFD-ejbclient.jar
RetrieveCORBAClient.jar
toplinkall.jar
xdoclet.jar@@\main\CHECKEDOUT from \main\1               
Rule: CHECKEDOUT

I don't know how symbolic links to files/directories are 
handled by the standard (local directory) FS, but I guess 
these entries should be handled similarly?  Alternatively, 
Rational's ClearCase explorer gives options for links to do 
Checkouts, version trees etc. on the link's target, so 
perhaps Netbeans should do likewise and look up the status 
of (and perform its commands on) the target?
Comment 1 ats37 2002-07-01 16:57:17 UTC
It's also possible to do a VOB symbolic link to a 
particular version of a file; I now have a directory with a 
couple of links of this form.  For some reason, NetBeans 
doubles up the entries for those files in the Explorer 
window.  I get one which shows just the filename (flagged 
as [Local]) and one which shows the path for the link (also 
flagged as [Local])

e.g. In the Explorer window I have
jaguar.zip [Local]
jaguar.zip --> ..\..\..\..\shared\sybase\jaguar.zip [Local]
log4j.jar [Local]
log4j.jar --> ..\..\..\..\shared\apache\log4j.jar [Local]

The Cleartool output that gave rise to these entries was

R:\AM_GTG\corporate_layer\Source\Java\lib>cleartool ls
jaguar.zip --> ..\..\..\..\shared\sybase\jaguar.zip@@\main\2
log4j.jar --> ..\..\..\..\shared\apache\log4j.jar@@\main\1
Comment 2 ats37 2002-07-02 11:36:06 UTC
Also, while doing a "ClearCase->Refresh Recursively" on a 
directory above the one containing the links, I get errors 
in the output window "The system cannot find the path 
specified."  It looks like it's trying to recurse down the 
links, even though they're links to files not directories.
Comment 3 Marek Grummich 2002-07-22 11:58:50 UTC
Set target milestone to TBD
Comment 4 ats37 2004-07-28 18:54:41 UTC
This has got worse with NB 3.6 and version "1.1.1 ${buildnumber}" of
the Clearcase profile, as on expanding one directory in a mounted
Clearcase filesystem I now get an exception dialog with a number of
StringIndexOutOfBoundsException messages:

*********** Exception occurred ************ at Wed Jul 28 17:51:36 BST
2004
java.lang.StringIndexOutOfBoundsException: String index out of range: -89
	at java.lang.String.substring(String.java:1444)
	at
org.netbeans.modules.vcs.profiles.clearcase.list.ClearCaseListCommand.outputData(ClearCaseListCommand.java:192)
	at
org.netbeans.modules.vcscore.cmdline.ExecuteCommand.printDataOutput(ExecuteCommand.java:772)
	at
org.netbeans.modules.vcscore.cmdline.ExecuteCommand$1.outputMatchedGroups(ExecuteCommand.java:560)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand.stdoutNextLine(ExternalCommand.java:857)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand.access$200(ExternalCommand.java:38)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand$OutputGrabber.run(ExternalCommand.java:552)
[catch] at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand$OutputGrabbersProcessor.run(ExternalCommand.java:656)
	at org.openide.util.Task.run(Task.java:136)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)
	at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:686)
*********** Exception occurred ************ at Wed Jul 28 17:51:37 BST
2004
java.lang.StringIndexOutOfBoundsException: String index out of range: -60
	at java.lang.String.substring(String.java:1444)
	at
org.netbeans.modules.vcs.profiles.clearcase.list.ClearCaseListCommand.outputData(ClearCaseListCommand.java:192)
	at
org.netbeans.modules.vcscore.cmdline.ExecuteCommand.printDataOutput(ExecuteCommand.java:772)
	at
org.netbeans.modules.vcscore.cmdline.ExecuteCommand$1.outputMatchedGroups(ExecuteCommand.java:560)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand.stdoutNextLine(ExternalCommand.java:857)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand.access$200(ExternalCommand.java:38)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand$OutputGrabber.run(ExternalCommand.java:552)
[catch] at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand$OutputGrabbersProcessor.run(ExternalCommand.java:656)
	at org.openide.util.Task.run(Task.java:136)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)
	at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:686)
*********** Exception occurred ************ at Wed Jul 28 17:51:37 BST
2004
java.lang.StringIndexOutOfBoundsException: String index out of range: -87
	at java.lang.String.substring(String.java:1444)
	at
org.netbeans.modules.vcs.profiles.clearcase.list.ClearCaseListCommand.outputData(ClearCaseListCommand.java:192)
	at
org.netbeans.modules.vcscore.cmdline.ExecuteCommand.printDataOutput(ExecuteCommand.java:772)
	at
org.netbeans.modules.vcscore.cmdline.ExecuteCommand$1.outputMatchedGroups(ExecuteCommand.java:560)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand.stdoutNextLine(ExternalCommand.java:857)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand.access$200(ExternalCommand.java:38)
	at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand$OutputGrabber.run(ExternalCommand.java:552)
[catch] at
org.netbeans.modules.vcscore.cmdline.exec.ExternalCommand$OutputGrabbersProcessor.run(ExternalCommand.java:656)
	at org.openide.util.Task.run(Task.java:136)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:330)
	at
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:686)

The corresponding output from the execution string was:

D:\Temp\.netbeans\3.6\system>cd /D
"R:\AM_GTG\components\EAServerUtils\Source\lib" &&  cleartool ls
commons-collections-2.0.jar -->
..\..\..\..\shared\xdoclet\commons-collections-2.0.jar@@\main\1
commons-logging.jar -->
..\..\..\..\shared\xdoclet\commons-logging.jar@@\main\1
easclient.jar --> ..\..\..\..\shared\sybase\easclient.jar@@\main\1
easj2ee.jar --> ..\..\..\..\shared\sybase\easj2ee.jar@@\main\1
easserver.jar --> ..\..\..\..\shared\sybase\easserver.jar@@\main\1
log4j.jar --> ..\..\..\..\shared\apache\log4j.jar@@\main\4
NTEventLogAppender.dll -->
..\..\..\..\shared\apache\NTEventLogAppender.dll@@\main\2
xdoclet-ejb-module.jar -->
..\..\..\..\shared\xdoclet\xdoclet-ejb-module.jar@@\main\3
xdoclet-web-module.jar -->
..\..\..\..\shared\xdoclet\xdoclet-web-module.jar@@\main\1
xdoclet-xdoclet-module.jar -->
..\..\..\..\shared\xdoclet\xdoclet-xdoclet-module.jar@@\main\1
xdoclet-xjavadoc.jar -->
..\..\..\..\shared\xdoclet\xdoclet-xjavadoc.jar@@\main\1
xdoclet.jar --> ..\..\..\..\shared\xdoclet\xdoclet.jar@@\main\5