Perforce: moving unsubmitted changes to a different stream

entheh picture entheh · Apr 23, 2013 · Viewed 7.9k times · Source

Is there a good way in Perforce to move unsubmitted changes to a different stream before submitting them (equivalent of git stash, git checkout otherbranch, git stash pop)?

I currently have the files checked out locally (non-exclusively) and edited. I've tried shelving them and then trying to unshelve them into the target stream, but I get "file(s) not in client view". When I view the changelist (shelved or not), the files all have paths that include the original stream.

My target stream is one I just created, parented off the original stream. I'm using P4V. The version of Perforce Visual Components I have installed is 123.57.9578, and when I run p4 from the command line, it says "Server 2012.2/551823". I can add more info if necessary.

Answer

az2tonez picture az2tonez · May 22, 2013

You can use the p4 unshelve command to remap the shelved files in a changelist to another stream using the -S option. Ex:

p4 unshelve -s <changlist#-with-shelved-files> -S //depot/streamname

Not sure if this is only available in a certain version or above or not. However, we were unable to find a way to do it through P4V.