Populate a mainline stream
Now that you’ve created a stream, you can populate it with files. There are two ways to populate a mainline stream:
- Add files from the local filesystem.
- Branch files from another depot.
In this tutorial, we demonstrate populating by adding files. For information on populating by branching from another depot, see Branch from other depots.
To add files to the mainline stream, copy the files and folders to the
workspace root directory and then mark them for add with the p4
add
command.
-
Copy the files and folders to the workspace root directory.
In this example, we add all files residing in a directory named
/Users/bruno/repository
.On UNIX and macOS
cp /Users/bruno/repository/* /Users/bruno/tutorial
On Windows
copy C:\Users\bruno\repository\* C:\Users\bruno\tutorial
-
Change into the client workspace root directory.
On UNIX and macOS
cd /Users/bruno/tutorial
On Windows
cd C:\User\bruno\tutorial
-
Mark the files for add.
p4 add *
This creates a default
changelist
, which you will use when you submit to the depot the file you added to your workspace. For more information on changelists, see Changelist-related tasks. -
Submit the added files.
To populate the stream, submit the default changelist in which the files are open for add.
p4 submit
Helix Core Server opens the
change specification
in an editor:
# A Perforce Change Specification. # # Change: The change number. 'new' on a new changelist. # Date: The date this specification was last modified. # Client: The client on which the changelist was created. Read-only. # User: The user who created the changelist. # Status: Either 'pending' or 'submitted'. Read-only. # Type: Either 'public' or 'restricted'. Default is 'public'. # Description: Comments about the changelist. Required. # ImportedBy: The user who fetched or pushed this change to this server. # Identity: Identifier for this change. # Jobs: What opened jobs are to be closed by this changelist. # You may delete jobs from this list. (New changelists only.) # Files: What opened files from the default changelist are to be added # to this changelist. You may delete files from this list. # (New changelists only.) Change: new Client: bruno_ws User: bruno Status: new Description: <enter description here> Files: //JamCode/main/file1.cc # add //JamCode/main/file1.h # add //JamCode/main/file1.txt # add //JamCode/main/file2.cc # add //JamCode/main/file2.h # add //JamCode/main/file2.txt # add //JamCode/main/file3.cc # add //JamCode/main/file3.h # add //JamCode/main/file3.txt # add
Enter a description under Description
and then save your
changes, to store the files you added in the
Helix Core Server
depot. Something like the following output is displayed:
Change 1 created with 9 open file(s). Submitting change 1. Locking 9 files ... add //JamCode/main/file1.cc#1 add //JamCode/main/file1.h#1 add //JamCode/main/file1.txt#1 add //JamCode/main/file2.cc#1 add //JamCode/main/file2.h#1 add //JamCode/main/file2.txt#1 add //JamCode/main/file3.cc#1 add //JamCode/main/file3.h#1 add //JamCode/main/file3.txt#1 Change 1 submitted.
The files you added are now stored in the Helix Core Server depot.