我的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对话框中有一个选项但是我没有这个选项。
答案 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