1

I've already done a large integration of several hundred files and have this all ready to go in a pending changelist. The problem is my depot is streamed and my workspace is non-streamed, aka classic. Since our P4 server has both streamed and non-streamed depots, I didn't realize that mixing them would be an issue and stuck to what I know, the classic style. However, when I go to submit my changelist I get the dreaded "warning: cannot submit from non-stream client".

So the first thing I tried to do was add the stream to the workspace in P4V and that succeeded. The mapping for the stream is very similar to the mapping I used in my classic workspace. The client didn't raise any red flags or warnings during this operation. Except now my pending changelist shows as having 0 files in it. Not good. So I drop down to commandline and use p4 describe. It shows my changelist how I left it with the files intact.

Since the commandline seems cooperative and p4v doesn't, I decide to just submit from commandline except when I try that I get "Submitting change <#>. No files to submit."

Ok...so I'm new to streams and not sure how to go about getting these changes submitted. Any help would be appreciated :)

CasualCoder
  • 115
  • 1
  • 9

1 Answers1

4

One general-purpose solution to this type of problem would be to shelve the files (and revert the local versions) before you modify your workspace. After you've messed with your workspace (changing the view or stream or what have you), you can unshelve the files; if the view has changed the unshelve operation will automatically put the files in the right places for you.

(Since you've already changed the workspace, a little more troubleshooting might be needed to figure out exactly what state you've ended up in and how to get out of it -- I'd recommend contacting Perforce support or posting on forums.perforce.com.)

Samwise
  • 68,105
  • 3
  • 30
  • 44
  • 1
    It worked, thanks! I'll also add how I ended up changing my workspace since that wan't obvious. To shelve the files, I needed to "unstream" the workspace first. p4v wouldn't let me remove the stream without using the -f option, and cna't do that inside p4v. But the command-line wasn't helping me much, so I ended up having to create a template workspace with my desired mapping. Effectively an unstreamed version of my current workspace. Then I used this command: `p4 client -s -t -f`. After that I could shelve the files and then associate the stream. – CasualCoder Feb 08 '17 at 16:34