Perforce streams notes
Perforce stream workflow
Glossary p4/git
- stream/branch
- workspace/local branch
- works ont this stream.. / checkout
Basic setup
- using the black cross on the right part of 4v, enable: workspace, streams and stream graph.
Main
Create
Right click on stream graph and create your Main stream:
- check Populate...
- unchecked create workspace..
To setup p4ignore, go on advanced tab and filled the ignored text box.
Be careful to never put space in the name of stream, this can cause crash and very weird behavior
Create main workspace
The main idea is to work only using one workspace throught all of our stream, same idea as git workflows.
so right click on your main stream and create your workspace. Be careful to name it using the right convention to make it unique.
Set your workspace root and validate. If a popup appear to ask you to populate it you can say yes if files are present in the remote stream depot, else click on no.
Create you dev stream
Same as Git workflow, when you want to make a new branch to work on a feature.
So right click on main stream and select create new steram from main, double check the stream type to be development, uncheck Create workspace and validate.
Checkout to stream
You can drag and drop the little computer screen icon on your stream you want to checkot, or workon if you want to use the p4v glossary.
Dev stream vs dev parse stream
In new release of p4v you can now use dev parse stream, to work on your features.
Main diff:
- doesn't mirror copy the main stream
- doesn't appear on the depot tab, until you submit some changes.
So, less size on your drive than dev stream.
Merge Dev into Main stream
To integrate your changes from your dev branch into the main branch.
- Checkout on main
- Right click and select
copy file to main
Release
You can create a new freeze of your main stream by right clicking on the main stream and select release stream type.
Be carefull to create a namin release convetion and to not putting space in the name of your releases
Task stream
Task stream are reserve to be named like your tacking ticket system, using real unique ID. Because you can't named 2 task with the named, same rules with a deleted task stream. it's unique for ever.
Virtual stream
Same idea as SQL View tables, you can create a stream with a direct link to another stream, like the main stream for example, but filter what the end user can see.
Important things to note, it's not a branch, it's a reference to the source stream.