Whatnbsp;isnbsp;anbsp;Perforcenbsp;quot;shelvedquot;nbsp;fil…

2023-10-11 16:32

本文主要是介绍Whatnbsp;isnbsp;anbsp;Perforcenbsp;quot;shelvedquot;nbsp;fil…,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

What is a Perforce "shelved" file?

分类: perforce

[转自]http://blog.csdn.net/xsmile2012/article/details/6701538

Shelving is the process of temporarily storing work in progress on a Perforce Server without submitting a changelist. Shelving is useful when you need to perform multiple development tasks (such as interruptions from higher-priority work, testing across multiple platforms) on the same set of files, or share files for code review before committing your work to the depot.


The p4 shelve command creates, modifies, or discards shelved files in a pending changelist. Shelved files persist in the depot until they are discarded (by means of p4 shelve -d) or replaced by subsequent p4 shelve commands.


After shelving files, you can revert or modify them in your client workspace, and restore the shelved versions of those files to your workspace with the p4 unshelve command. While files are shelved, other users can unshelve the shelved files into their own workspaces, or into other client workspaces. 
Files that have been shelved can also be accessed with the p4 diff, p4 diff2, p4 files, and p4 print commands, using the revision specifier @=change, where change is the pending changelist number.


If no arguments are specified, p4 shelve creates a new changelist, adds files from the user's default changelist, and (after the user completes a form similar to that used by p4 submit), shelves the specified files into the depot. If a file pattern is given, p4 shelve shelves only the files that match the pattern. 

上面是对perforce shelve功能的介绍。下面自己对p4 shelve 应用做点简单的总结。

1、 创建shelved文件

         当我们从perforce里checkout文件后,一般做的操作时submit,这里告诉里其实还有一个操作你可以充分的应用它,那就是shelve操作。它可以将你修改好的文件存到库里,但是又不属于真正被提交的文件,它处于搁置状态。

         #p4 edit filename

         #p4 shelve filename

         如果你想覆盖一个存在的搁置文件,你可以使用参数-f, -c,即

         #p4 shelve -f -c changelist filename

         将文件搁置的同时会产生对应的pending changelist,建议记住这个changelist。

2、 Review shelved 文件

         如果你知道shelve文件的changelist,你可以使用下面的命令将shelve的文件restore工作区里。

         #p4 unshelve -s changelist

         如果不知道changelsit,你可以列出当前所有的pending changelist,然后确定哪个是你需要的。

         #p4 changes -s pending

         讲到这里,大家应该已经发现shelve好处了吧。一个程序员修改完代码,可以先不提交到库里,可以使用p4 shelve命令将文件搁置,它会在库中某个位置存起来。其他的程序员可以使用p4 diff命令比较文件做了哪些修改,或使用p4 unshelve 命令将文件restore到自己的工作去查看,这样code review的工作就简单的完成了。当代码通过review,就进入下一步提交了。

3、 Submit shelved 文件

         提交shelved文件,需要首先删除文件的shelve状态,然后才能提交。

         #p4 shelve -d -c changelist

         #p4 submit -c changelist

         shelve的操作名命令基本都是基于changelist,所以记住changelist确实很重要。

 

关于shelve命令和unshelve命令的详细介绍,可参考perforce命令手册。

          p4 shelve:    http://www.perforce.com/perforce/doc.current/manuals/cmdref/shelve.html

          p4 unshelve: http://www.perforce.com/perforce/doc.current/manuals/cmdref/unshelve.html

 

这篇关于Whatnbsp;isnbsp;anbsp;Perforcenbsp;quot;shelvedquot;nbsp;fil…的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189370

相关文章

Error:(106) Attribute quot;rippleColorquot; has already been defined

compile 'com.github.navasmdc:MaterialDesign:1.5@aar' 扁平化设计,导入出现: Error:(106) Attribute "rippleColor" has already been defined 解决: compile 'com.github.navasmdc:MaterialDesign:1.3.2'

Ubuntunbsp;出现apt-get:nbsp;Packag…

学习了 原文地址:Ubuntu 出现apt-get: Package has no installation candidate问题 作者:zhou4539   Ubuntu 出现apt-get: Package has no installation candidate问题 分类: 系统-Linux 2011-12-18 13:32 751人阅读 评论(0) 收藏 举报 今天在

微信公众平台nbsp;10.29日更新nbsp;之己见

曾经有前辈说过,无论微信 5.0 的部分功能做的有多差,但是这是微信转型的一个里程碑。起初,笔者有点不太理解其中的道理,但是随着自己做了些东西东西后,才慢慢发现,这种先推广后优化,让用户去引导功能开发的策略是多么的明智。 此前,网络曾有谣言,微信服务号将于明年起收3000元/年的年费,这一传言尚未被证实,昨天微信公众平台正式推出了微信认证这一个功能,服务号可以花费300元进行认

从客户端(content1=quot;lt;img src=quot;/web/news/...quot;)中检测到有潜在危险的 Request.Form 值。

kindeditor 一开始一直不能上传图片 配置了所有应该配置的参数,从网上找各种大神贴,依旧不行,本来都是测试成功的不知道问啥突然就不能上传图片,蓝瘦香菇一阵后决定重新下载安装配置,整了一波后终于ok,但是又出现新的问题 提交不成功,一直提示: 从客户端(content1="<img src="/web/news/…")中检测到有潜在危险的 Request.Form 值。 加上配置文件中

C语言提示:什么是quot;逻辑或quot;;…

原文地址:C语言提示:什么是"逻辑或";"逻辑非";"逻辑与" 作者:小陌 什么是"逻辑或";"逻辑非";"逻辑与"?、 “!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)是三种逻辑运算符。  “逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”。  “逻辑或”相当于生活中的“或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就

C语言的条件编译#if,nbsp;#elif…

原文地址:C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef 作者:Embeder 有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指

结构体定义nbsp;typedefnbsp;structnbsp;…

很不错 原文地址:结构体定义 typedef struct 用法详解和用法小结 作者:紫心玲儿 typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: 若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n; 若用typedef,可以这样写,typedef struct node

C++nbsp;usingnbsp;namespacenbsp;stdnbsp;详解

一 : 和是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。  后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。  因此,当使用时,相当于在c中调用库函数,使用

C++的dllexport和dllimportnbsp;nbsp;…

C++的dllexport和dllimport: __declspec(dllexport) 声明一个导出函数,是说这个函数要从本DLL导出。我要给别人用。一般用于dll中省掉在DEF文件中手工定义导出哪些函数的一个方法。当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类 __declspec(dllimport)

#ifndefnbsp;PRINT_Hnbsp;nbsp;…

例一: print.h: 文件内容 #ifndef PRINT_H #define PRINT_H #ifdef __cplusplus extern " C " { #endif  //打印点东西 void Print(int iNum);  #ifdef __cplusplus }#endif  #endif 作用:为了防止头文件被重复包含: 如头文件a.h中包含函数f