[p4] P4V cannot resolve a file

Weintraub, David david.weintraub at bofasecurities.com
Thu Feb 23 08:33:57 PST 2006

Thanks to all of your responses to this issue. One of the big culprits
on this issue is the way we named subdirectories. For example,
StraightThroughProcessing instead of STP and branches
(StraightThroughProcessing- vs. STP1.2.3.4).

I've shown the developers a couple of ways to get around this issue. For
example, change their TMP and TEMP environment variable from
"C:\Documents and Settings\<userID>\Local Settings\Temp" to "C:\Temp"
which would save about 40 characters or remap the view in their client
to use shorter directory names. I've also explained that the P4 command
line command is printed right in the log window. They could also go into
the Windows Console, and execute a shortened form of this command.

Unfortunately, I've found Windows developers very reluctant to get
overly technical with the tools they use, and they don't want to change
their environment variables, remap their view, or (gasp!) use the
command line.

-----Original Message-----
From: perforce-user-bounces at perforce.com
[mailto:perforce-user-bounces at perforce.com] On Behalf Of Victor Johnson
Sent: Thursday, February 23, 2006 10:51 AM
To: perforce-user at perforce.com
Subject: Re: [p4] P4V cannot resolve a file


Kenneth Olwing writes:

>The culprit is actually the MS C runtime libs - and almost everything 
>running on Windows tend to use this (MSVCRT) in it's various guises and

>incarnations (cmd.exe obviously, which makes the issue very visible).
>Some dimwit very early on decided that the stdlib.h define '_MAX_PATH'
>should be '260' ('ought to be enough forever'...), and this includes a 
>drive letter etc. Hence, this is the buffer size used universally and 
>inside the CRT.

A handy workaround for this lamentable shortsightedness is the vestigial
DOS 'subst' command (from the days of the single/dual floppy drive
machines that may or may not have a hard drive).

See http://www.computerhope.com/substhlp.htm

It is a handy way to dynamically substitute some long path with a short
"x:\" specification when things like PATH, CLASSPATH, etc. become too
long.  A "subst" drive will not survive a reboot so a quick
'substitutes.bat' script in the accounts' Startup folder will make them
persistent.  Note that you cannot 'subst' a network drive.


perforce-user mailing list  -  perforce-user at perforce.com

More information about the perforce-user mailing list