3

I tried integrating the changes from classic depot to stream depot through p4v. Steps below: 1) I moved to classic deport client which has both depot paths (source & destination paths) in client view. 2) ran p4 merge/integrate from my classic depot. 3) Given target location in p4v in p4merge window. 4) File got opened in my client. 5) Did 'p4 submit'. Giving me this error :- //New_stream/main/temp/sample.txt - warning: cannot submit from non-stream client No files to submit. Submit failed -- fix problems above then use 'p4 submit -c 69'.

Cant we submit the changes from classic depot client to stream ? as it is saying that cannot submit from non-stream client. then in this case how can we submit the changes? Can any one please help?

Samwise
  • 68,105
  • 3
  • 30
  • 44
kunal
  • 125
  • 1
  • 13

1 Answers1

2

The error is saying:

cannot submit from non-stream client

The solution therefore is to use a stream client.

p4 set P4CLIENT=your-stream-client
p4 switch streamname
p4 integ //classic-depot/path/... //stream-depot/streamname/path/...
p4 resolve
p4 submit
Samwise
  • 68,105
  • 3
  • 30
  • 44
  • Yes, i did that. One thing i notice which looks weird for me. I ran the integ command in stream client which open files for integrate. When i use 'p4 opened' command it is showing the files which are opened in that client. But when i see the same client in p4v there is no file showing in opened state. – kunal Feb 12 '18 at 08:13
  • And also in classical perforce if we want to integrate the changes from main branch to some dev branch we will be in main branch client and do p4 integ from source to destination right ? Why cant we do the same in streams? Why do we need to move to the destination branch where we are integrating and running the integ command from there? its quit opposite with classic stream which is not the right way to do it na ? – kunal Feb 12 '18 at 08:27
  • After understanding i notice that we cant submit the changes in p4v as thy are not even showing those files as opened in default change list. But when i do 'p4 opened' on same client it is showing the files. We can submit the files using 'p4 submit'. Why this is happening? why cant we do it through p4v? – kunal Feb 12 '18 at 12:27
  • refer to my tips on using P4V with streams in the comments on this answer: https://stackoverflow.com/a/48690970/3799759 – Samwise Feb 12 '18 at 15:33
  • In classic depots you need to be in a client that maps the dev branch if you want to integrate changes to the dev branch (from anywhere). If you're used to using clients that map every branch at once this probably isn't obvious, but only the TARGET of an integrate ever needs to be mapped (since those are the files you're opening). – Samwise Feb 12 '18 at 15:46
  • Sam, do you know any specific reason why not to used p4v for streams? – kunal Feb 12 '18 at 16:52
  • I've never done it myself, but everyone who tries to use streams from P4V seems to end up getting very confused and having a lot of trouble (that depot tree is one of the main culprits, it makes no sense whatsoever in the context of streams and just confuses people). It also seems like a lot of tasks that are one simple command in the CLI require navigating five dialogs in P4V -- when I'm trying to help someone do something and they tell me they only use P4V, I have to figure out how to step through it for them and it's always harder. The command line is more easy and streamlined IMO. :) – Samwise Feb 12 '18 at 17:01
  • Could you give more info on this line? p4 set P4CLIENT=your-stream-client – Josh Graham Jul 07 '20 at 00:33
  • This assumes that you have a stream client (that is, a client with a `Stream` field instead of a user-defined `View` field) that you can switch to, and that it's called `your-stream-client`. If you don't have such a client, you have to make one. – Samwise Jul 07 '20 at 01:27