Question: 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: 
You can use the [p4 unshelve](http://www.perforce.com/perforce/doc.current/manuals/cmdref/unshelve.html) 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.
I believe the shelve/unshelve technique requires the 2013.1 server, not the 2012.2 server. You should confirm this with Perforce Technical Support.