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 41683 - VSS Diff fails when Editor variable is defined.
Summary: VSS Diff fails when Editor variable is defined.
Status: RESOLVED DUPLICATE of bug 27396
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 3.x
Hardware: PC Windows XP
: P3 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-04 12:09 UTC by gugrim
Modified: 2005-01-20 14:35 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description gugrim 2004-04-04 12:09:43 UTC
The follwing error message is displayed when using
Diff on the current version:

Please, check the execution string:
org.netbeans.modules.vcs.profiles.commands.Diff.class
2 CHECKOUT_CMD DIFF_USR_CMD

When diffing two revisions, I get a slightly
different error message:

Please, check the execution string:
org.netbeans.modules.vcs.profiles.commands.Diff.class
3 2 2 CHECKOUT_CMD DIFF_REVISIONS_CMD

If I change the commands DIFF_USR_CMD and
DIFF_REFISIONS_CMD and check "Display Output", I
get a correct difference display in the output
tab, e g:

Current project is $/DOI/doc
C:\Projects\DOI\doc has been established as the
working folder for project
$/DOI/doc.Diffing: $/DOI/doc/QBEParser.html;3
Against: $/DOI/doc/QBEParser.html;2

47c47,48
<   <li>The query "2004-02" matches dates between
2004-02-01 and 2004-02-29 in
---
>   <li>The query "2004-02" matches dates between
2004-02-01 and 2004-02-29
> inclusive. Note that leap years are taken into
account.</li>
Comment 1 Peter Pis 2004-04-05 09:42:28 UTC
I've tried Diff on file with [Current] status and there were no error
message. It has given the correct result. Everything seems to be ok
with diff on two revisions on my w2k. 

Which version of Microsoft Visual SorceSafe do you use?
Comment 2 gugrim 2004-04-05 12:41:56 UTC
I use 6.0d (Build 9848)

As you can see in my report, it seems that VSS produces a correct diff
output.
I also have no problem diffing a file with status [Current]. It
correctly says that no differences were found.
Comment 3 Martin Entlicher 2004-04-06 18:41:53 UTC
The error reporting of the commands is not good. It does not tell the
real problem, execution string is O.K. and it's not apparent what failed.

From the code it looks like either the output from the diff command
could not be correctly parsed, or the checkout command (that retrieves
the content of the revisions) failed.

I'm not able to reproduce the problem even with HTML file in which
I've made the same diff. Therefore I need more information.

Can you please look into the Runtime tab under "VCS Commands" to see
if some commands fail? (The DIFF_USR_CMD and DIFF_REVISIONS_CMD
commands are expected to fail when there are some differences.) If
there is CHECKOUT_CMD command failed, can you please double-click on
it and paste here it's output?
Comment 4 gugrim 2004-04-06 18:53:46 UTC
Three failed command gets listed in the Runtime tab:

Command Diff -  No output.

Command DIFF_USR_CMD Standard Output: -------------------------------

Current project is $/DOI/doc
C:\Projects\DOI\doc has been established as the working folder for project
$/DOI/doc.Diffing: $/DOI/doc/QBEParser.html
Against: C:\Projects\DOI\doc\QBEParser.html

36c36
<  Numeric values always match exactly. Decimal values must use a
period for 
---
> Numeric values always match exactly. Decimal values must use a
period for 
---------------------------------------------------------------------

Command CHECKOUT_CMD Standard Output: -------------------------------

Current project is $/DOI/doc
C:\Projects\DOI\doc has been established as the working folder for project
$/DOI/doc.
---------------------------------------------------------------------

Command CHECKOUT_CMD Error Output: ----------------------------------

File "C:\Program" not found
---------------------------------------------------------------------

The last one looks funny. The old "blanks in path" problem?
Comment 5 gugrim 2004-04-06 18:55:04 UTC
 Just saw that my mounted filesystem and project now contains a very
strange "file" named "QBEParser.htmlDiffing: $\DOI\doc\DOI4Against:
C:\Projects\DOI\doc\DOI4Diffing: $\DOI\doc\DOIStudio4Against:
C:\Projects\DOI\doc\DOIStudio4  doistudio.sql  index.htmlDiffing:
$\DOI\doc\Effie4Against: C:\Projects\DOI\doc\Effie4  index.html"

Yes, the above string is really the file name!

If I open the Properties window it shows the above name and the
property "All Files" has the following value:

"C:\Projects\DOI\doc\QBEParser.htmlDiffing: $\DOI\doc\DOI4Against:
C:\Projects\DOI\doc\DOI4Diffing: $\DOI\doc\DOIStudio4Against:
C:\Projects\DOI\doc\DOIStudio4  doistudio.sql  index.htmlDiffing:
$\DOI\doc\Effie4Against: C:\Projects\DOI\doc\Effie4  index.html"

There is nothing on disk or in VSS that looks funny. I don't seem to
get rid of it whatever I do! I've deleted .nbintdb and restarted
NetBeans but it is still there!
Comment 6 Martin Entlicher 2004-04-06 19:17:37 UTC
Gunnar, can you please provide the "Execution String" property of the
CHECKOUT_CMD command? I have the paths quoted correctly. I have also
spaces in the paths and commands work for me right.

Also, did you import the project from some older NetBeans release? Or
did you reuse the user directory from some older release? Is the
behavior the same when you mount the VSS filesystem again?
Comment 7 gugrim 2004-04-06 19:24:15 UTC
Here is the execution string:

${RUN} ${QUOTE}${VSSCMD}${QUOTE} view $[? REVISION] [-V${REVISION}] []
${OPTIONS} ${QUOTE}${FILE}${QUOTE}
-O${QUOTE}${TEMPDIR}${PS}${FILE}${QUOTE} ${NUR}

I have not imported the project from an older NetBeans release, but I
have reused the user directory from RC1.

The behavior is the same if I unmount and remount.
Comment 8 Martin Entlicher 2004-04-06 19:30:22 UTC
Oh, I meant the execution string of the executed command in Runtime.
When you right-click on the CHECKOUT_CMD command, there are a few
properties and one is the expanded execution string. This is what I
meant. Thanks.
Comment 9 gugrim 2004-04-06 19:33:37 UTC
No problem, her it is:

cmd /X /C "(mkdir \"C:\Projects\DOI\doc\\\.\" 2>nul || echo.) && cd /D
\"C:\Projects\DOI\doc\" && \"C:\Program Files\Microsoft Visual
Studio\VSS\win32\SS.EXE\" cd -I- -Ygugrim, \"$/DOI/doc\" &&
\"C:\Program Files\Microsoft Visual Studio\VSS\win32\SS.EXE\" workfold
-I- -Ygugrim, \"C:\Projects\DOI\doc\" && \"C:\Program Files\Microsoft
Visual Studio\VSS\win32\SS.EXE\" view  -I- -Ygugrim,
\"QBEParser.html\" -O\"C:\Documents and
Settings\gugrim\.netbeans\3.6rc2\system\vcs\tmp\tmp20615\QBEParser.html\"
"
Comment 10 Martin Entlicher 2004-04-06 20:16:45 UTC
Uff, I'm confused. The execution string looks right. It should execute
without an error. All paths seems to be quoted correctly. From the
output it's apparent, that the working folder was set correctly, the
failure was in the final "view" command. But it's not apparent to me
at all why the view command should fail.

It's also strange that you got the file with this name:
"C:\Projects\DOI\doc\QBEParser.htmlDiffing: $\DOI\doc\DOI4Against:
C:\Projects\DOI\doc\DOI4Diffing: $\DOI\doc\DOIStudio4Against:
C:\Projects\DOI\doc\DOIStudio4  doistudio.sql  index.htmlDiffing:
$\DOI\doc\Effie4Against: C:\Projects\DOI\doc\Effie4  index.html"

This is an output from the LIST_DIR_READER command. Didn't you play
with the profile commands? Didn't you change some properties, like
"File Index", etc?

Can you please use a new empty user directory
(e.g.: runide -userdir C:\TestUserDir), do not import anything, mount
the VSS filesystem and try diff again? It's possible that you have
somehow customized VSS profile if you made some modifications and save
it in the Customizer.
Although it's still not clear to me why the CHECKOUT_CMD fails :-/
Comment 11 gugrim 2004-04-06 20:58:59 UTC
I have not played with any profile commands except that I checked the
"Display Output" property to see if I could determine what was wrong.
I'll try using an empty user dir and get back to you.
Comment 12 gugrim 2004-04-06 21:10:44 UTC
OK, I've tried with a new empty user dir. Exactly the same symptoms.
Comment 13 gugrim 2004-04-06 22:33:14 UTC
I think I know what the problem is, but not yet the solution. When
trying out the expanded command line, part by part in a console
window, the last part, SS view, failed. Apparently it was trying to
start Mozilla, or God forbid IE, to view the file instead of printing
the contents to the console.

Quouting from the SS manual:
When you use the View command, VSS looks for the application it should
run to display the file. The last place it looks is in the
initialization files, for the Editor variable. Because this variable
is not extension-specific, it is not generally the best place to
specify an editor. However, it can be useful to set a default editor
for all files whose extensions are not found.

The funny thing is that when I tried to view a .txt file, it opened
Notepad, which is not associated with txt files.

Well, I removed my editor setting is Source Safe, which was Textpad,
but it still opened Notepad for the txt file and failed on the html file.

All of this happened in a command window, so NetBeans (i e you) can't
be blamed. If I find out more I'll keep you posted.
Comment 14 Martin Entlicher 2004-04-07 09:43:14 UTC
Thanks a lot Gunnar. That's it. Now I remember that we had a problem
like this in the past. Unfortunately the VSS GUI options are linked
with command-line. This makes the command-line integration very
error-prone.

I pass an -O parameter to the view option, which tells it to store the
file content into a file. Unfortunately when the editor is defined,
the -O option seems to be ignored.
You need to assure that the Editor variable is not defined.

I've found issue #27396, that describes exactly this problem, so I
resolve this as a duplicate of it.
Thanks for your help.

*** This issue has been marked as a duplicate of 27396 ***