将一个工作空间中的搁置文件移动到另一个工作空间perforce - 不在客户端视图中的文件

时间:2014-06-25 19:02:05

标签: perforce p4v

我的workspace1有一些搁置的更改。现在我需要将该架子移动到workspace2。我正在尝试以下命令,没有运气。你可以看到我得到的错误。

C:\source\workspace1>p4 -c workspace1 unshelve -s changelistworkspace1# [-f] [-n] [-c changelistworkspace2#] [-S workspace2Stream]

错误:

[-f] - file(s) not in client view.
<br />
[-n] - file(s) not in client view.
<br />
[-c - file(s) not in client view.
<br />
changelistworkspace2#] - file(s) notin client view.
<br />
[-S - file(s) not in client view. 
<br />
workspace2Stream] - file(s) not in client view.

如果这是一个我遇到问题的简单任务,我很擅长这样做。我用来指导我的资源是:

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

我也没有运气。我还找到了一个资源,说P4V的unhelber对话框中有一个选项但是我没有这个选项。

3 个答案:

答案 0 :(得分:10)

感谢大家的帮助。问题是,由于文件位于两个不同的流中而不是取消搁置,我需要将更改列表的所有权更改为新工作区。现在我可以毫不犹豫地取消搁置。

要更改所有权,我右键单击P4V中的更改列表并选择更改所有权。

答案 1 :(得分:8)

如果两个工作区都是相同的用户,或者为更改列表提供了相关权限:

转到初始工作区[client1]

p4 shelve -c <changelist_x>

转到第二个工作区[client2]

p4 unshelve -s <changelist_x>

答案 2 :(得分:3)

您必须在目标工作区中指定更改列表 要移动的搁置文件。

示例 - &#39; admin&#39;用户在更改12118中有一些搁置的文件

$ p4 changes -s shelved -u admin
Change 12118 on 2014/06/25 by admin@admin14streams *pending* 'original shelve changes by admi'

另一个用户创建一个带有描述和的变更列表 将那些搁置的文件删除到他们的更改列表中。

$ p4 change

$ p4 unshelve -s 12118 -c 12119
//depot/r1.0/bar#1 - unshelved, opened for edit
//depot/r1.0/foo#1 - unshelved, opened for edit

在P4V中,要取消其他用户的更改:

  1. Go to the Pending tab
  2. Click on the Filter so that it shows the changes
     for the other user/workspace
  3. Select the shelved change, right-click and select 'Unshelve Files'

参考

http://answers.perforce.com/articles/KB_Article/Changing-the-Owner-of-a-Pending-Changelist

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