How to convert Perforce depot locations to client view locations

时光总嘲笑我的痴心妄想 提交于 2020-01-02 02:01:13

问题


I'd like to know how to convert Perforce depot locations to client view locations for the purpose of script writing.

I have a script that first checks out a file for edit in perforce and then interacts with the file. I need to have the depot location (i.e. \Projects\Project6) converted to the client view location. (i.e. d:\Projects\Project6).

Is this possible?


回答1:


I have always used the p4 where command for this. Here is its description from the built-in help:

where -- Show how file names map through the client view

p4 where [ file ... ]

    Where shows how the named files map through the client view.
    For each argument, three names are produced: the name in the
    depot, the name on the client in Perforce syntax, and the name
    on the client in local syntax.

    If no file is given, the mapping for '...' (all files in the
    current directory and below) is shown.

    Note that 'p4 where' does not determine where any real files are.
    It only computes where they should be according to the client view.



回答2:


I would use the p4 fstat command. I find its format slightly easier to parse than p4 have. Additionally if you are scripting this in python you can use the -G option to have the the return values marshalled as python dictionaries.

It is also useful to note that you can type p4 help commands to see a list of the commands and a short description of what they do.




回答3:


Check out the p4 have command. You give it either a depot location or a client filename and it gives you the depot location, client filename, and what version of that file you have.



来源:https://stackoverflow.com/questions/300692/how-to-convert-perforce-depot-locations-to-client-view-locations

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!