Working with graph depots
P4V version 2020.1 is the first version to support workspaces of map to:
- one or more reposA graph depot contains one or more repos, and each repo contains files from Git users. in one or more graph depotsA depot of type graph that is used to store Git repos in the Helix server. See also Helix4Git and classic depot. - see Depots and repos in the Helix4Git Administrator Guide
- one or more hybrid workspacesA workspace that maps to files stored in a depot of the classic Perforce file revision model as well as to files stored in a repo of the graph model associated with git.. - see "Hybrid client that maps to both classic and graph depots" in p4 client (graph) in Helix Core P4 Command Reference
The following image shows an example of how P4V displays a graph depot that contains a repo that contains folders and files. Each repo indicates its current branch in parentheses, such as (master)
. Each file is identified with a SHA-1 hash that displays in the short form of 8 hexidecimal digits:
The P4V administrator can create a graph depot and assign access permissions to graph depots or repos . See P4Admin User Guide.
If your P4V administrator has granted you access, you can right-click a repo, and click Sync Repo To... The Sync Repo dialog appears, and you can sync to Latest, a Branch, a Tag, or a Commit SHA-1.
In P4V version 2020.1,
- a graph depot is read-only
- if a hybrid workspace is of type
writeable
, the graph depot files are read-only - if a hybrid workspace is of type
graph
, all the files in the workspace are read-only
Repo folder information
If you sync a repo to a tag or a SHA-1, the repo folder shows branch@HEAD
or branch@haveCommit
:
and the tooltip indicates @HEAD corresponds to the SHA-1 for both HaveCommit and HeadCommit.
For details about repo file information in Helix Core server, see the output of p4 help-graph fstat
Tag names, if any, appear in the repo tooltip.
A branch can be branchName@
or Head detached@
If you sync to a tag or a SHA-1 that is not an ancestor of your current branch, (HEAD detached@a1b2c3d4)
appears to indicated that the repo is not sync'd to the latest state (HEAD) of any branch. For example,
Repo file information
A repo file is displayed like this:
filename.txt #haveBlob/headBlob
where a file is represented as a binary large object (blob
):
Repo | Client |
---|---|
headBlob represents the SHA-1 for the file content at the head revision |
haveBlob represents the SHA-1 for the file content at the have revision on the client |
headCommit represents the commit SHA-1 for the file at the head revision |
haveCommit represents the commit SHA-1 for the file at the have revision on the client |
In the depot tree tab, if file shows #none/headBlob
, it means the file exists in the depot but it's not currently synced based on current tag or SHA-1.
|
|
In this case, just as with a classic file, you must sync to get latest before submitting. |
![]() |
|
![]() |
Your search for returned result(s).