前言

使用 Perforce , 能够使用Perforce 的Client 端。

有时候在编写一些脚本或代码的时候, 可能或使用到 Perforce的命令的方式。

正常状况下。 使用例如以下命令:

p4 -C utf8 -p host:port -u username -p password -c workspace sync //depot_path/...

就能够sync perforce 的源文件了。

登录的帐号和密码直接接在命令的后面。

可是以上的方法并不一定正确, 可能会出现

Perforce password (P4PASSWD) invalid or unset

的错误。

在同一台机器上使用 p4 client 登录之后就正常了。

出现这个的原因基本上是 服务端对于验证设置的原因。

服务端须要 ticket 这种验证方式。

所谓的ticket , p4 client 在登录的时候会在机器的

C:\Documents and Settings\user\下 新建一个 p4tickets.txt 的文件, 里面的内容是一系列的相似防伪码的东西。

搜索到的说明

仔细的说明一下原因:

网络上的解释:
Your server's security level doesn't allow command line passwords.
You can get around this by using a ticket value instead. Use the
login command to get a valid ticket value:

p4 login -p

That will display the ticket value instead of saving it. You should
be able to cut and paste that into your command.

=====
If you are a superuser, you should be able to log in without specifying a
password.

If you have an active ticket for your superuser account, use: p4 login
<build_user>

Otherwise use: p4 -u <superuser_user> -P <superuser_password> login <build_user>

官方:
Problem:        
When issuing a p4 command in a trigger on a Windows server, the command returns the error:

Perforce password (P4PASSWD) invalid or unset.

This error indicates that the command did not find a valid ticket for the current user and it needs to log in to create one.

解决方法

1. 方法一

先登录。再运行sync等其它命令
echo %p4passwd%|p4 login

2. 方法二

使用已经有的ticket

Set the location of P4TICKETS with set or p4 set [-s]:

p4 set P4TICKETS=C:\Perforce\tickets.txt

Log in as the trigger user:

p4 login triggeruser

In the trigger, make sure P4TICKETS is set to the same location. You can skip this step if you used p4 set -s to set P4TICKETS:

set P4TICKETS=C:\Perforce\tickets.txt

方法一, 我有实际的使用过, 方法二还未试用

[Perforce]password (P4PASSWD) invalid or unset. 的错误解决的更多相关文章

  1. java.io.StreamCorruptedException: invalid type code: AC错误的解决方法

    问题描述: 在向一个文件写入可序列化对象时,每次只想向文件的末尾添加一个可序列化的对象,于是使用了FileOutputStream(文件名,true)间接的构建了ObjectOutputStream流 ...

  2. javamail发送邮件及错误解决方法javax.mail.AuthenticationFailedException: failed to connect, no password specified?

    javamail发送邮件及错误解决方法javax.mail.AuthenticationFailedException: failed to connect, no password specifie ...

  3. 运行git提示xcrun: error: invalid active developer path错误

    运行git提示xcrun: error: invalid active developer path错误 是xcode的原因 运行如下命令解决: xcode-select --install

  4. ORA-00911: invalid character 错误解决集锦

    转: ORA-00911: invalid character 错误解决集锦 参考https://www.linuxidc.com/Linux/2017-05/144361.htm ORA-00911 ...

  5. mysql Access denied for user root@localhost错误解决方法总结(转)

    mysql Access denied for user root@localhost错误解决方法总结(转) mysql Access denied for user \'root\'@\'local ...

  6. encfs创建时fuse: failed to exec fusermount: Permission denied错误解决

    今天用encfs创建加密文件夹时碰到提示错误fuse: failed to exec fusermount: Permission denied fuse failed. Common problem ...

  7. CAS SSO:汇集配置过程中的错误解决方法

    本教程为gevin.me原创文章,转载请注明: CAS SSO:配置过程中的错误解决方法 | Gevin’s Blog 本文将收集在配置CAS SSO遇到的所有错误,希望对大家有帮助,也方便下次搭建的 ...

  8. github 提交报403 forbidden的错误解决

    github 提交报403 forbidden的错误解决 $ git push error: The requested URL returned error: 403 Forbidden while ...

  9. Linux 下一个 Mysql error 2002 错误解决

    Linux 下一个 Mysql error 2002 错误解决     首先查看 /etc/rc.d/init.d/mysqld status 查看mysql它已开始.     假设启动的的话,先将数 ...

随机推荐

  1. 解决IE6兼容性问题的十一大技巧

    10要点解决IE6兼容性问题 1.使用声明 你必须经常在html网页头部放置一个声明,推荐使用严格的标准.例如 <!DOCTYPEHTMLPUBLIC“-//W3C//DTDHTML4.01// ...

  2. Ant详解之-path、classpath和fileset

    转自:http://www.cnblogs.com/itech/archive/2011/11/01/2231206.html 一 .<path/> 和 <classpath/> ...

  3. Windows平台查看端口占用的程序

    一.方法:管理员权限打开Cmd窗口:netstat -obna

  4. linux2.6.30.4内核移植(7)——插入hello world驱动模块

    详细步骤参考自:http://www.cnblogs.com/wanyao/archive/2011/11/21/2257628.html 过程比较顺利,结果截图如下: 这里需要注意的是:http:/ ...

  5. webapck 打包体积优化策略

    一.概述 1.Tree-shaking 2.公共资源分离 3.图片压缩 二.Tree-shaking Tree-shaking:1个模块可能有多个方法,只要其中的某个方法使用到了,则整个文件都会被打到 ...

  6. Java 基础【16】 文件(文件夹) 创建和删除

    使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节. 比如 File 类中的 mkdir() 和 mkdirs() 的区别. JDK API ...

  7. 操作系统动态内存管理——malloc和free的工作机制

    动态内存分配 就 是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法. malloc()是C语言中动态存储管理 的一组标准库函数之一.其作用是在内存的动态存储区中分配一个长度为size的 ...

  8. 阿里历年经典Java面试题汇总,想进BAT你还不快收藏!

    转载:https://mp.weixin.qq.com/s/M8YyxloxZnMACH9QCQN7HA Volatile的特征: A.禁止指令重排(有例外) B.可见性 Volatile的内存语义: ...

  9. Shell脚本学习之sed详解

    在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...

  10. 用dockerfile构建基于centos系统的jar包的镜像

    实际示例: [root@master01 home-dataline]# ls dataline.jar Dockerfile jdk-8u181-linux-x64.tar.gz [root@mas ...