[p4] best way to parse output of 'p4 where'?

Peter Prymmer PPrymmer at factset.com
Thu Feb 1 09:59:52 PST 2007


The p4 where command separates the depot path and the local OS path with 
three characters:
a space, a dash (a.k.a "minus sign"), and a space.  It might be useful to 
you too .

Peter Prymmer

perforce-user-bounces at perforce.com wrote on 02/01/2007 08:50:39 AM:

> Hello all.
> 
> I have a script that needs to determine where a directory exists in the
> current workspace.  Thus, I'm using the 'p4 where' command like this:
>   p4 where //depot/path/to/important/directory/...
> Now, the output of the where command returns the following:
>   - filename in depot notation
>   - filename in workspace notation
>   - filename in local OS notation
> All separated by spaces.  For example, something like this:
>   $ p4 where //depot/...
>   //depot/... //workspace_name/... E:\directory with spaces\...
> 
> The problem I'm having is the fact that the space character is being
> used as the delimiter for the three different return values, especially
> when the directories themselves can contain spaces.
> 
> I'm currently using the character sequence '/... ' as the value
> delimiter, but I'm sure that this isn't the cleanest or best solution.
> 
> What I'd REALLY like to be able to do is query p4 for just the filename
> in local OS notation.  Something like 'p4 where -local //depot/...'.
> 
> What is the best way to determine where a directory exists on the local
> HD within the current workspace?
> 
> Thanks
> 
> JDG
> 
> PS: I'm using Perforce 2005.2.  I don't believe that 2006.2 contains any
> additional parameters for the 'where' command.
> 
> 
> ---
> Jay Dickon Glanville
> 
> _______________________________________________
> perforce-user mailing list  -  perforce-user at perforce.com
> http://maillist.perforce.com/mailman/listinfo/perforce-user


More information about the perforce-user mailing list