P4GT for Photoshop UserGuide2019.1May 2021

Copyright 2017-2021 Perforce Software, Inc.All rights reserved.All software and documentation of Perforce Software, Inc. is available from You can download and usePerforce programs, but you can not sell or redistribute them. You can download, print, copy, edit, and redistribute thedocumentation, but you can not sell it, or sell any documentation derived from it. You can not modify or attempt to reverse engineerthe programs.This product is subject to U.S. export control laws and regulations including, but not limited to, the U.S. Export AdministrationRegulations, the International Traffic in Arms Regulation requirements, and all applicable end-use, end-user and destinationrestrictions. Licensee shall not permit, directly or indirectly, use of any Perforce technology in or by any U.S. embargoed country orotherwise in violation of any U.S. export control laws and regulations.Perforce programs and documents are available from our Web site as is. No warranty or support is provided. Warranties andsupport, along with higher capacity servers, are sold by Perforce.Perforce assumes no responsibility or liability for any errors or inaccuracies that might appear in this book. By downloading andusing our programs and documents you agree to these terms.Perforce and Inter-File Branching are trademarks of Perforce.All other brands or product names are trademarks or registered trademarks of their respective companies or organizations.Any additional software included within Perforce is listed in License Statements.

ContentsAbout Perforce Helix Core server and P4GT for Photoshop4Syntax conventions4Feedback4Other documentation5Get started with Perforce Helix Core serverUse P4GT67Perforce Helix Core menu overview7Add files to Perforce Helix server9Retrieve files from the depot9Check files out of Perforce Helix server10Check files into Perforce Helix server10Work offline11Configure P4GT11Check In/Check Out tab11Open/Close tab12Troubleshoot P4GT14Troubleshoot adding files14Troubleshoot checking out files14Glossary153

About Perforce Helix Core server and P4GT forPhotoshopPerforce Helix Core server, also referred to as Helix server, is a software configuration management tool.The files managed by Perforce Helix server reside in a depot. To work on files, you open and edit them inyour client workspace. When you're done, you check in changed files, using the available Perforce Helixserver menu options. The depot keeps track of all the current and previous revisions of a file.This guide tells you how to perform version control tasks for Perforce Helix Core by using P4GT forPhotoshop, which is part of P4GT, the Helix Plugin for Graphical Tools. P4GT integrates Helix Coreserver into drawing tools, including Autodesk 3ds Max, Autodesk Maya, and Adobe Photoshop.Syntax conventionsHelix documentation uses the following syntax conventions to describe command line syntax.NotationMeaningliteralMust be used in the command exactly as shown.italicsA parameter for which you must supply specific information. For example, fora serverid parameter, supply the ID of the server.[-f]The enclosed elements are optional. Omit the brackets when you composethe command.Previous argument can be repeated.np4 [g-opts] streamlog [ -l -L -t -m max ] stream1.means 1 or more stream arguments separated by a spacenSee also the use on . in Command alias syntax in the Helix Core P4Command ReferenceTip. has a different meaning for directories. See Wildcards in the Helix Core P4Command Reference.element1 element2Either element1 or element2 is required.FeedbackHow can we improve this manual? Email us at [email protected]

Other documentationOther documentationSee urces/documentation.5

Get started with Perforce Helix Core serverTo start using Perforce Helix Core server, you need to configure your client computer to access the Helixserver. For more information, see the Configure clients chapter in the Helix Core Server User Guide.P4GT offers access to a number of Helix server commands. Use the Helix Core menu to:nAdd files to the Helix server depot.nCheck files into and out of the depot.nLock a file while you have it checked out, preventing others from modifying it.nUndo or revert your add or check out.NoteWhen you revert a checked-out file, all changes you made after check-out are discarded andthe file is restored to the last checked-in version (which is not necessarily the last version yousaved).nView detailed Helix server and file information, including revision history, file status, andconnection information.To learn more about these commands, see the Helix Core menu overview.To uninstall P4GTDo one of the following:nRun the P4GT installer and select Uninstall.nUse the appropriate Windows control panel (for example, Add or Remove Programs), selectHelix Plugin for Graphical Tools, and uninstall it.6

Use P4GTThis section includes the following topics:Perforce Helix Core menu overviewAdd files to Perforce Helix serverRetrieve files from the depotCheck files out of Perforce Helix serverCheck files into Perforce Helix serverWork offlineConfigure P4GTCheck In/Check Out tabOpen/Close tab799101011111112Perforce Helix Core menu overviewTo see the Perforce Helix Core menu:1. In Photoshop, choose File Automate:7

Perforce Helix Core menu overview2. Choose P4GT Photoshop:The Perforce Helix Core menu contains the following items:Perforce Helix Coremenu option8DescriptionAdd to PerforceAdds the file that you are currently working on to Perforce HelixCore. For more information, see Adding files to Perforce.Check OutChecks a file out of Perforce Helix Core so you can edit it. Formore information, see Checking files out of Perforce.Check InChecks files into Perforce Helix Core, to store your changes inthe depot. For more information, see Checking files in toPerforce.Lock/Unlock FilePrevents other users from checking in a file while you have itopen, to prevent conflicts.Undo Add/CheckOutDiscards any changes that you have made to the files in yourworkspace. This operation is known as reverting a file.Results of LastCommandDisplays the results of the last Perforce Helix Core command thatyou performed.File StatusDisplays the status of the current file, including the file name andpath, as well as Perforce information.File HistoryDisplays the current file's name and path, as well as the pastrevisions of the file, and the changelists associated with it.

Add files to Perforce Helix serverPerforce Helix Coremenu optionDescriptionChecked-out FilesDisplays a list of all of the files that you currently have checked outof Perforce Helix Core.PerforceInformationDisplays your Perforce connection information. For moreinformation about these fields, see the Perforce documentationportal.Get Latest Revisionfrom PerforceEnables you to browse and open files that are stored in the depot(as opposed to your workspace).OptionsEnables you to set P4GT options. For more information on theseoptions, see Configuring P4GT.HelpDisplays the online help.About P4GTDisplays information about the version of P4GT that you arerunning.Disconnect fromServer/Connect toServerDeactivate/activate Perforce Helix Core operations.Add files to Perforce Helix serverTo add files to Perforce Helix server, the files that you want to add must be located in your clientworkspace. If the files are not in your client workspace, P4GT displays an error message and the files arenot added.To add files to Perforce Helix server:1. Select Perforce Add to Perforce.2. If prompted to check the files into Perforce Helix server, enter a description of your changes.3. Click Submit. P4GT confirms that your files have been successfully added.4. Click OK.For troubleshooting help, see Troubleshooting: Adding files.Retrieve files from the depotThe depot is the central repository for files under Helix server control. Files that you and your coworkerscreate and modify are stored in the depot when you check the files in.To retrieve a copy of a file in the depot:9

Check files out of Perforce Helix server1. Select Perforce Get Latest Revision from Perforce, browse to the desired file, and clickOpen. The file is copied to your workspace and opened.2. If you want to change the file, choose Perforce Check out.To view an older version of an open file, select Perforce File History, click the desired version, andthen click View. To copy the older version to your workspace, click Sync.Check files out of Perforce Helix serverTo work on a file that has been checked into Perforce Helix server, you must check the file out. You cando this automatically or manually.When you open a file that is checked into Helix server, you are prompted to check the file out. To checkthe file out at this time, click OK.If you click Cancel, the file opens in read-only mode. You can edit this file, but you cannot save it (unlessyou use Save As and specify a different file name). To edit and save a file that is in Helix server, youmust first check it out.To check a file out of Perforce Helix server:1. Open the file.2. Select Perforce Check Out.NoteBy default, you are prompted to check files out after you open them. You can configure P4GT not toprompt by disabling the When opening a file, check out from Perforce option.For troubleshooting help, see Troubleshooting: Checking files out. If you are working offline (withoutnetwork access), see Working offline for details about checking out files offline.Check files into Perforce Helix serverWhen you are finished working on a file that has been checked out of Perforce Helix server, you need tocheck it back in, to ensure that your changes are stored in the depot.To check a file into Perforce Helix server:1. Select Perforce Check in. The Submit dialog opens.2. In the Description field, enter in a brief description of the work you have done on the file. Note thatyou must enter something into this field before submitting.3. If prompted, choose the files that you want to check in. The file that you are working on isautomatically selected.4. If you want to check in your changes and immediately check the file out again (for example, to10

Work offlinesave a interim version), check Keep checked out.5. Click Submit.NoteYou can change the status of Perforce Helix server jobs (which track work to be done) when yousubmit a file. To close jobs using P4GT, you must either set a jobview or attach jobs to changelists.These tasks must be done outside of P4GT. Consult your Helix server administrator for details.To discard changes:To discard your changes and restore the version you checked out, select Perforce UndoAdd/Checkout.Work offlineTypically, your computer is connected to the network and has access to Helix server. However, if youwork remotely, you might need to be able to work without network access. P4GT supports workingoffline.To work offline, select Perforce Disconnect from Server. To restore the connection, select Perforce Connect to Server. Note that if you inadvertently lose network access to Helix server, P4GTdisplays a warning dialog and automatically disconnects. When the connection is restored, selectPerforce Connect toServer to resume the connection.When working offline, you cannot check files in or out using the Perforce menu entries. If you want towork on a file that you did not check out while connected, perform the following steps:nBefore editing a file: Using Windows Explorer, browse to the file, right-click it, and selectProperties. Clear the read-only attribute and click OK.nAfter editing the file: Reset the read-only attribute.nAfter reconnecting: Open the file and select Perforce Check out. At this point, you can makemore changes or check the file in.Configure P4GTTo configure P4GT, select Helix Core Options, configure settings as desired, and then click OK. Youcan configure the following settings.Check In/Check Out tabWhen adding a file to Perforce, check in immediately:11

Open/Close tabnTo automatically check in a file that you have just added to Helix server, select Always.nTo disable automatic check-in, select Never. Files are not checked in until you select Perforce Check In.nTo display a "Check In?" prompt after you add a file, select Prompt.When checking out a file, automatically lock it: When you lock a file, other users can check the fileout, but cannot check it in until you unlock it, check it in, or revert it.nTo lock files when you check them out, select Always.nTo disable automatic locking, select Never.nTo display a "Lock?" prompt, select Prompt.When checking in a file: To list all checked-out files when you check a file in, select View other filesin changelist. Selecting this option enables you to check in multiple files at a time.Informational prompts: Enables you to configure the level of verbosity for P4GT. Select to displayconfirmation of successful operations (errors are always displayed, regardless of this setting).Open/Close tabWhen opening a file, check out from Perforce:nTo automatically check out files when you open them, select Always.nTo disable automatic check-out, select Never.nTo display a "Check Out?" prompt, select Prompt.When reopening a file after undo (reverting), check out from Perforce:nTo automatically check out files when you reopen them after reverting, select Always.nTo disable automatic check-out, select Never.nTo display a "Check Out?" prompt, select Prompt.When closing a file, check in to Perforce:nTo automatically check in files when you close them, select Always.nTo disable automatic check-in, select Never.nTo display a "Check In?" prompt, select Prompt.When opening a file, update external file references: Automatically syncs the head revision of anyexternal files referenced by the main file. If other users are working on files that are referenced by yourfiles, you can ensure that you always have the most recent version of their files by enabling this option.12

Open/Close tabnTo automatically sync any external files when you open a file, select Always.nTo disable automatic syncing, select Never.nTo display a "Sync?" prompt, select Prompt.When closing a file, prompt to revert file from Perforce: This option lets you discard any changesyou have made and restore the file from the depot to your workspace.NoteMost of these options can also be configured through the Do not show this dialog again checkboxthat is displayed on dialogs in P4GT.13

Troubleshoot P4GTThis section includes the following topics:Troubleshoot adding filesTroubleshoot checking out files1414Troubleshoot adding filesWhen I try to add a file to Perforce Helix server, I get an error stating that the file is not "underclient's root." What does this mean?To add a file to Perforce Helix server successfully, the file must be saved in your client workspace. If youdo not know what this means, see your Perforce Helix server administrator.Troubleshoot checking out filesWhen I try to check out a file from Perforce Helix server,I get an error stating that the "newestversion in the Helix Core depot has been deleted." What does this mean?The file that you are trying to check out has been deleted from Perforce Helix server. If you are familiarwith Helix server, you can use P4V or the Helix server command-line client to undo the delete. If you arenot familiar with Helix server, contact your Helix server administrator.You cannot access this file in Helix server until the file has been recovered.14

GlossaryAaccess levelA permission assigned to a user to control which commands the user can execute. See also the'protections' entry in this glossary and the 'p4 protect' command in the P4 Command Reference.admin accessAn access level that gives the user permission to privileged commands, usually super privileges.APCThe Alternative PHP Cache, a free, open, and robust framework for caching and optimizing PHPintermediate code.archive1. For replication, versioned files (as opposed to database metadata). 2. For the 'p4 archive'command, a special depot in which to copy the server data (versioned files and metadata).atomic change transactionGrouping operations affecting a number of files in a single transaction. If all operations in thetransaction succeed, all the files are updated. If any operation in the transaction fails, none of the filesare updated.avatarA visual representation of a Swarm user or group. Avatars are used in Swarm to show involvement inor ownership of projects, groups, changelists, reviews, comments, etc. See also the "Gravatar" entryin this glossary.BbaseFor files: The file revision, in conjunction with the source revision, used to help determine whatintegration changes should be applied to the target revision. For checked out streams: The publichave version from which the checked out version is derived.15

Glossarybinary file typeA Helix server file type assigned to a non-text file. By default, the contents of each revision are storedin full, and file revision is stored in compressed format.branch(noun) A set of related files that exist at a specific location in the Perforce depot as a result of beingcopied to that location, as opposed to being added to that location. A group of related files is oftenreferred to as a codeline. (verb) To create a codeline by copying another codeline with the 'p4integrate', 'p4 copy', or 'p4 populate' command.branch formThe form that appears when you use the 'p4 branch' command to create or modify a branchspecification.branch mappingSpecifies how a branch is to be created or integrated by defining the location, the files, and theexclusions of the original codeline and the target codeline. The branch mapping is used by theintegration process to create and update branches.branch viewA specification of the branching relationship between two codelines in the depot. Each branch viewhas a unique name and defines how files are mapped from the originating codeline to the targetcodeline. This is the same as branch mapping.brokerHelix Broker, a server process that intercepts commands to the Helix server and is able to run scriptson the commands before sending them to the Helix server.Cchange reviewThe process of sending email to users who have registered their interest in changelists that includespecified files in the depot.16

GlossarychangelistA list of files, their version numbers, the changes made to the files, and a description of the changesmade. A changelist is the basic unit of versioned work in Helix server. The changes specified in thechangelist are not stored in the depot until the changelist is submitted to the depot. See also atomicchange transaction and changelist number.changelist formThe form that appears when you modify a changelist using the 'p4 change' command.changelist numberAn integer that identifies a changelist. Submitted changelist numbers are ordinal (increasing), but notnecessarily consecutive. For example, 103, 105, 108, 109. A pending changelist number might beassigned a different value upon submission.check inTo submit a file to the Helix server depot.check outTo designate one or more files, or a stream, for edit.checkpointA backup copy of the underlying metadata at a particular moment in time. A checkpoint can recreatedb.user, db.protect, and other db.* files. See also metadata.classic depotA repository of Helix server files that is not streams-based. The default depot name is depot. See alsodefault depot and stream depot.client formThe form you use to define a client workspace, such as with the 'p4 client' or 'p4 workspace'commands.client nameA name that uniquely identifies the current client workspace. Client workspaces, labels, and branchspecifications cannot share the same name.17

Glossaryclient rootThe topmost (root) directory of a client workspace. If two or more client workspaces are located onone machine, they should not share a client root directory.client sideThe right-hand side of a mapping within a client view, specifying where the corresponding depot filesare located in the client workspace.client workspaceDirectories on your machine where you work on file revisions that are managed by Helix server. Bydefault, this name is set to the name of the machine on which your client workspace is located, but itcan be overridden. Client workspaces, labels, and branch specifications cannot share the samename.code reviewA process in Helix Swarm by which other developers can see your code, provide feedback, andapprove or reject your changes.codelineA set of files that evolve collectively. One codeline can be branched from another, allowing each setof files to evolve separately.commentFeedback provided in Helix Swarm on a changelist, review, job, or a file within a changelist orreview.commit serverA server that is part of an edge/commit system that processes submitted files (checkins), globalworkspaces, and promoted shelves.conflict1. A situation where two users open the same file for edit. One user submits the file, after which theother user cannot submit unless the file is resolved. 2. A resolve where the same line is changedwhen merging one file into another. This type of conflict occurs when the comparison of two files to abase yields different results, indicating that the files have been changed in different ways. In thiscase, the merge cannot be done automatically and must be resolved manually. See file conflict.18

Glossarycopy upA Helix server best practice to copy (and not merge) changes from less stable lines to more stablelines. See also merge.counterA numeric variable used to track variables such as changelists, checkpoints, and reviews.CSRFCross-Site Request Forgery, a form of web-based attack that exploits the trust that a site has in auser's web browser.Ddefault changelistThe changelist used by a file add, edit, or delete, unless a numbered changelist is specified. Adefault pending changelist is created automatically when a file is opened for edit.deleted fileIn Helix server, a file with its head revision marked as deleted. Older revisions of the file are stillavailable. in Helix server, a deleted file is simply another revision of the file.deltaThe differences between two files.depotA file repository hosted on the server. A depot is the top-level unit of storage for versioned files (depotfiles or source files) within a Helix Core server. It contains all versions of all files ever submitted to thedepot. There can be multiple depots on a single installation.depot rootThe topmost (root) directory for a depot.depot sideThe left side of any client view mapping, specifying the location of files in a depot.19

Glossarydepot syntaxHelix server syntax for specifying the location of files in the depot. Depot syntax begins with: //depot/diff(noun) A set of lines that do not match when two files, or stream versions, are compared. A conflict isa pair of unequal diffs between each of two files and a base, or between two versions of a stream.(verb) To compare the contents of files or file revisions, or of stream versions. See also conflict.donor fileThe file from which changes are taken when propagating changes from one file to another.Eedge serverA replica server that is part of an edge/commit system that is able to process most read/writecommands, including 'p4 integrate', and also deliver versioned files (depot files).exclusionary accessA permission that denies access to the specified files.exclusionary mappingA view mapping that excludes specific files or directories.extensionSimilar to a trigger, but more modern. See "Helix Core Server Administrator Guide: Fundamentals"on "Extensions".Ffile conflictIn a three-way file merge, a situation in which two revisions of a file differ from each other and fromtheir base file. Also, an attempt to submit a file that is not an edit of the head revision of the file in thedepot, which typically occurs when another user opens the file for edit after you have opened the filefor edit.20

Glossaryfile patternHelix server command line syntax that enables you to specify files using wildcards.file repositoryThe master copy of all files, which is shared by all users. In Helix server, this is called the depot.file revisionA specific version of a file within the depot. Each revision is assigned a number, in sequence. Anyrevision can be accessed in the depot by its revision number, preceded by a pound sign (#), forexample testfile#3.file treeAll the subdirectories and files under a given root directory.file typeAn attribute that determines how Helix server stores and diffs a particular file. Examples of file typesare text and binary.fixA job that has been closed in a changelist.formA screen displayed by certain Helix server commands. For example, you use the change form toenter comments about a particular changelist to verify the affected files.forwarding replicaA replica server that can process read-only commands and deliver versioned files (depot files). Oneor more replicate servers can significantly improve performance by offloading some of the masterserver load. In many cases, a forwarding replica can become a disaster recovery server.GGit FusionA Perforce product that integrates Git with Helix, offering enterprise-ready Git repositorymanagement, and workflows that allow Git and Helix server users to collaborate on the same21

Glossaryprojects using their preferred tools.graph depotA depot of type graph that is used to store Git repos in the Helix server. See also Helix4Git.groupA feature in Helix server that makes it easier to manage permissions for multiple users.Hhave listThe list of file revisions currently in the client workspace.head revisionThe most recent revision of a file within the depot. Because file revisions are numbered sequentially,this revision is the highest-numbered revision of that file.Helix serverThe Helix server depot and metadata; also, the program that manages the depot and metadata, alsocalled Helix Core server.Helix TeamHubA Perforce management platform for code and artifact repository. TeamHub offers built-in support forGit, SVN, Mercurial, Maven, and more.Helix4GitPerforce solution for teams using Git. Helix4Git offers both speed and scalability and supports hybridenvironments consisting of Git repositories and 'classic' Helix server depots.IiconvA PHP extension that performs character set conversion, and is an interface to the GNU libiconvlibrary.22

GlossaryintegrateTo compare two sets of files (for example, two codeline branches) and determine which changes inone set apply to the other, determine if the changes have already been propagated, and propagateany outstanding changes from one set to another.JjobA user-defined unit of work tracked by Helix server. The job template determines what information istracked. The template can be modified by the Helix server system administrator. A job describes workto be done, such as a bug fix. Associating a job with a changelist records which changes fixed thebug.job daemonA program that checks the Helix server machine daily to determine if any jobs are open. If so, thedaemon sends an email message to interested users, informing them the number of jobs in eachcategory, the severity of each job, and more.job specificationA form describing the fields and possible values for each job stored in the Helix server machine.job viewA syntax used for searching Helix server jobs.journalA file containing a record of every change made to the Helix server’s metadata since the time of thelast checkpoint. This file grows as each Helix server transaction is logged. The file should beautomatically truncated and renamed into a numbered journal when a checkpoint is taken.journal rotationThe process of renaming the current journal to a numbered journal file.journalingThe process of recording changes made to the Helix server’s metadata.23

GlossaryLlabelA named list of user-specified file revisions.label viewThe view that specifies which filenames in the depot can be stored in a particular label.lazy copyA method used by Helix server to make internal copies of files without duplicating file content in thedepot. A lazy copy points to the original versioned file (depot file). Lazy copies minimize theconsumption of disk space by storing references to the original file instead of copies of the file.license fileA file that ensures that the number of Helix server users on your site does not exceed the number forwhich you have paid.list accessA protection level that enables you to run reporting commands but prevents access to the contents offiles.local depotAny depot located on the currently specified Helix server.local syntaxThe syntax for specifying a filename that is specific to an operating system.lock1. A file lock that prevents other clients from submitting the locked file. Files are unlocked with the 'p4unlock' command or by submitting the changelist that contains the locked file. 2. A database lock thatprevents another process from modifying the database db.* file.logError output from the Helix server. To specify a log file, set the P4LOG environment variable or usethe p4d -L flag when starting the service.24

GlossaryMmappingA single line in a view, consisting of a left side and a right side that specify the correspondencesbetween files in the depot and files in a client, label, or branch. See also workspace view, branchview, and label view.MDS checksumThe method used by Helix server to verify the integrity of versioned files (depot files).merge1. To create new files from existing files, preserving their ancestry (branching). 2. To propagatechanges from one set of files to another. 3. The process of combining the contents of two conflictingfile revisions into a single file, typically using a merge tool like P4Merge.merge fileA file generated by the Helix server from two conflicting file revisions.metadataThe data stored by the Helix server that describes the files in

server. For more information, see the Configure clients chapter in the Helix Core Server User Guide. P4GT offers access to a number of Helix server commands. Use the Helix Core menu to: n Add files to the Helix server depot. n Check files into and out of the depot. n Lock a file while you