我想从Perforce获取文件而不将它们放入工作区。
E.g。 我已经对2个文件进行了更改。
file1.cs
file2.cs
现在我想使用更新的file1.cs构建项目,所以我想获取除file1.cs之外的最新文件。
我以为我会获得另一个本地项目副本并构建它。
答案 0 :(得分:9)
我不确定你真正想做什么,但是你可以通过使用“p4 print”从版本中获取文件的内容而不使用工作区定义。例如:
>p4 print -o fileName.cs //depot/path/to/fileName.cs
答案 1 :(得分:1)
据我所知,您无法在不使用工作区的情况下同步Perforce软件仓库中的文件,因为这样可以跟踪工作区中的文件版本以及将它们放在本地计算机上的位置(以及作为其他一些事情)。 我不确定我是否完全理解您的问题,但如果您需要做的是获取您在库中的file1.cs的另一个副本而不删除您所拥有的更改,您只需将更改复制到另一个位置或搁置他们并重新同步文件。更完整且危险性更小的解决方案是创建另一个工作空间,指向计算机上的不同物理位置,但位于同一个库位置。 这解释了如何在需要时创建工作区: http://www.perforce.com/perforce/doc.062/manuals/boilerplates/quickstart.html 确保“Root”路径与当前工作空间的路径不同,您可以通过转到P4V中的工作区选项卡并查看它来检查当前工作空间的根目录。 创建新工作区后,创建新连接并选择它,然后同步所需的文件。
答案 2 :(得分:0)
所以我想获取除file1.cs
之外的最新文件
你不应该这样做;您应该更新所有文件并解决与file1.cs的任何冲突
考虑其他人对file56.cs进行更改的情况,这些更改依赖于对file1.cs的更改。如果你采取他们的更改列表但覆盖(或不采取)他们的file1.cs,那么你的构建将会中断。
答案 3 :(得分:0)
搁置file1.cs,以便您可以安全地还原本地更改:
p4 shelve file1.cs
p4 revert file1.cs
现在,您可以使用您想要的任何版本的file1.cs进行构建(您可以同步回旧版本或其他任何版本)。
当您准备好回到您的更改时:
p4 unshelve -s CHANGE
答案 4 :(得分:0)
答案 5 :(得分:-1)
我找到了解决方法但不是解决方案 我得到另一个项目的本地副本,然后构建项目并提交更改。
答案 6 :(得分:-1)
我用git找到了一种简单的方法:
$ git p4 clone //depot/your/folder