A client workspace is the set of directories on your local computer where you work on the file revisions that Helix Server manages. At minimum, you should assign your workspace a name and specify a workspace root where you want local copies of depot files stored. The client workspace name defaults to the hostname of the computer on which your client is running. For details, see Configure a client workspace.
Before you can work in a stream, you must associate your workspace with the stream. When you associate a workspace with a stream, Helix Server generates the workspace view based on the structure of the stream. Workspace views are a crucial concept in Helix Server and are discussed in detail in Configure workspace views.
To create a workspace and bind it to a stream:
Set the P4CLIENT environment variable to desired workspace name.
On UNIX and OS X
$ export P4CLIENT=bruno_ws
On Windows
$ set P4CLIENT=bruno_ws
Use the p4 client command to bind your workspace to
the stream.
$ p4 client -S //JamCode/main
The -S option specifies the name of the associated
stream.
Helix Server opens the client specification (spec) in an editor:
# A Perforce Client Specification.
#
# Client: The client name.
# Update: The date this specification was last modified.
# Access: The date this client was last used in any way.
# Owner: The Perforce user name of the user who owns the client
# workspace. The default is the user who created the
# client workspace.
# Host: If set, restricts access to the named host.
# Description: A short description of the client (optional).
# Root: The base directory of the client workspace.
# AltRoots: Up to two alternate client workspace roots.
# Options: Client options:
# [no]allwrite [no]clobber [no]compress
# [un]locked [no]modtime [no]rmdir
# SubmitOptions:
# submitunchanged/submitunchanged+reopen
# revertunchanged/revertunchanged+reopen
# leaveunchanged/leaveunchanged+reopen
# LineEnd: Text file line endings on client: local/unix/mac/win/share.
# Type: Type of client: writeable/readonly.
# Backup: Client's participation in backup enable/disable. If not
# specified backup of a writable client defaults to enabled.
# ServerID: If set, restricts access to the named server.
# View: Lines to map depot files into the client workspace.
# ChangeView: Lines to restrict depot files to specific changelists.
# Stream: The stream to which this client's view will be dedicated.
# (Files in stream paths can be submitted only by dedicated
# stream clients.) When this optional field is set, the
# View field will be automatically replaced by a stream
# view as the client spec is saved.
# StreamAtChange: A changelist number that sets a back-in-time view of a
# stream ( Stream field is required ).
# Changes cannot be submitted when this field is set.
#
# Use 'p4 help client' to see more about client views and options.
Client: bruno_ws
Owner: bruno
Host: dhcp-133-n101.dhcp.perforce.com
Description:
Created by bruno.
Root: /Users/bruno/tutorial
Options: noallwrite noclobber nocompress unlocked nomodtime normdir
SubmitOptions: submitunchanged
LineEnd: local
Stream: //JamCode/main
View:
//JamCode/main/... //bruno_ws/...
At this point you have the option to configure the workspace root directory and any other desired settings. The workspace root is the highest-level directory of the workspace under which the managed source files reside. For more information, see Define a client workspace. Once you’ve done this, save any changes and quit the editor.
For information about configuring other settings, see Configure workspace views.
Verify that your workspace has been created, with the p4
clients command.
$ p4 clients -S //JamCode/main
This produces the following output:
Client bruno_ws 2016/02/22 root /Users/bruno/tutorial 'Created by bruno.'
Next, populate the mainline stream with files.