/* * Copyright 1995, 2000 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ /* * msgspec.cc - definitions of errors for info subsystem. * * Note: * * Never re-use an error code value, these may have already been * translated, so using it for a different error is not OK. * * ErrorIds which are no longer used should be moved to the bottom * of the list, with a trailing comment like this: // DEPRECATED. * We keep these to maintain compatibility between newer api clients * and older servers which send old ErrorIds. * * Its okay to add a message in the middle of the file. * * When adding a new error make sure its greater than the current high * value and update the following number: * * Current high value for a MsgSpec error code is: 17 */ # include <error.h> # include <errornum.h> # include "msgspec.h" ErrorId MsgSpec::SpecBranch = { ErrorOf( ES_SPEC, 1, E_INFO, EV_NONE, 0 ), "# A %'Perforce Branch'% Specification.\n" "#\n" "# %'Branch'%: The branch name.\n" "# %'Update'%: The date this specification was last modified.\n" "# %'Access'%: The date of the last '%'integrate'%' using this branch.\n" "# %'Owner'%: The user who created this branch.\n" "# %'Description'%: A short description of the branch (optional).\n" "# %'Options'%: Branch update options: %'[un]locked'%.\n" "# %'View'%: Lines to map source depot files to target depot files.\n" "#\n" "# Use '%'p4 help branch'%' to see more about branch views.\n" }; ErrorId MsgSpec::SpecClient = { ErrorOf( ES_SPEC, 2, E_INFO, EV_NONE, 0 ), "# A %'Perforce Client'% Specification.\n" "#\n" "# %'Client'%: The client name.\n" "# %'Update'%: The date this specification was last modified.\n" "# %'Access'%: The date this client was last used in any way.\n" "# %'Owner'%: The %'Perforce'% user name of the user who owns the client\n" "# workspace. The default is the user who created the\n" "# client workspace.\n" "# %'Host'%: If set, restricts access to the named host.\n" "# %'Description'%: A short description of the client (optional).\n" "# %'Root'%: The base directory of the client workspace.\n" "# %'AltRoots'%: Up to two alternate client workspace roots.\n" "# %'Options'%: Client options:\n" "# %'[no]allwrite [no]clobber [no]compress'%\n" "# %'[un]locked [no]modtime [no]rmdir'%\n" "# %'SubmitOptions'%:\n" "# %'submitunchanged/submitunchanged+reopen'%\n" "# %'revertunchanged/revertunchanged+reopen'%\n" "# %'leaveunchanged/leaveunchanged+reopen'%\n" "# %'LineEnd'%: Text file line endings on client: %'local/unix/mac/win/share'%.\n" "# %'ServerID'%: If set, restricts access to the named server.\n" "# %'View'%: Lines to map depot files into the client workspace.\n" "# %'ChangeView'%: Lines to restrict depot files to specific changelists.\n" "# %'Stream'%: The stream to which this client's view will be dedicated.\n" "# (Files in stream paths can be submitted only by dedicated\n" "# stream clients.) When this optional field is set, the\n" "# View field will be automatically replaced by a stream\n" "# view as the client spec is saved.\n" "# %'StreamAtChange'%: A changelist number that sets a back-in-time view of a\n" "# stream ( %'Stream'% field is required ).\n" "# Changes cannot be submitted when this field is set.\n" "#\n" "# Use '%'p4 help client'%' to see more about client views and options.\n" }; ErrorId MsgSpec::SpecStream = { ErrorOf( ES_SPEC, 14, E_INFO, EV_NONE, 0 ), "# A %'Perforce Stream'% Specification.\n" "#\n" "# %'Stream'%: The %'stream'% field is unique and specifies the depot path.\n" "# %'Update'%: The date the specification was last changed.\n" "# %'Access'%: The date the specification was originally created.\n" "# %'Owner'%: The user who created this stream.\n" "# %'Name'%: A short title which may be updated.\n" "# %'Parent'%: The parent of this stream, or '%'none'%' if %'Type'% is mainline.\n" "# %'Type'%: Type of stream provides clues for commands run\n" "# between stream and parent. Five types include '%'mainline'%',\n" "# '%'release'%', '%'development'%' (default), '%'virtual'%' and '%'task'%'.\n" "# %'Description'%: A short description of the stream (optional).\n" "# %'Options'%: Stream Options:\n" "# %'allsubmit/ownersubmit [un]locked'%\n" "# %'[no]toparent [no]fromparent mergedown/mergeany'%\n" "# %'Paths'%: Identify paths in the stream and how they are to be\n" "# generated in resulting clients of this stream.\n" "# Path types are %'share/isolate/import/import+/exclude'%.\n" "# %'Remapped'%: Remap a stream path in the resulting client view.\n" "# %'Ignored'%: Ignore a stream path in the resulting client view.\n" "#\n" "# Use '%'p4 help stream'%' to see more about stream specifications and command.\n" }; ErrorId MsgSpec::SpecLabel = { ErrorOf( ES_SPEC, 3, E_INFO, EV_NONE, 0 ), "# A %'Perforce Label'% Specification.\n" "#\n" "# %'Label'%: The label name.\n" "# %'Update'%: The date this specification was last modified.\n" "# %'Access'%: The date of the last '%'labelsync'%' on this label.\n" "# %'Owner'%: The user who created this label.\n" "# %'Description'%: A short description of the label (optional).\n" "# %'Options'%: Label update options: %'[un]locked, [no]autoreload'%.\n" "# %'Revision'%: Optional revision specification to make an automatic label.\n" "# %'ServerID'%: If set, restricts access to the named server.\n" "# %'View'%: Lines to select depot files for the label.\n" "#\n" "# Use '%'p4 help label'%' to see more about label views.\n" }; ErrorId MsgSpec::SpecLdap = { ErrorOf( ES_SPEC, 16, E_INFO, EV_NONE, 0 ), "# A %'Perforce Ldap'% Configuration Specification.\n" "#\n" "# %'Name'%: The %'LDAP'% configuration name.\n" "# %'Host'%: The %'FQDN'% of the directory server.\n" "# %'Port'%: The port number on which to connect to the directory server.\n" "# %'Encryption'%: The encryption method to use when connecting to the\n" "# directory server. Options are: '%'none'%', '%'ssl'%' and '%'tls'%'.\n" "# %'BindMethod'%: The bind method to use with this directory. Options are:\n" "# '%'simple'%', '%'search'%' and '%'sasl'%'.\n" "#\n" "# The following field only applies to the '%'simple'%' bind method.\n" "#\n" "# %'SimplePattern'%: This is the %'DN'% which will be used to bind against to\n" "# validate the user's credentials. The %%%'user'%%% placeholder\n" "# will be replaced with the user's userId.\n" "#\n" "# The following fields only apply to the '%'search'%' bind method.\n" "#\n" "# %'SearchBaseDN'%: The %'DN'% from which to start the search for the user object.\n" "# %'SearchFilter'%: The %'LDAP'% query filter to use to identify the user object\n" "# which will be used to bind against. The %%%'user'%%% placeholder\n" "# will be replaced with the user's userId.\n" "# %'SearchScope'%: The scope to use when searching for the user records.\n" "# %' Options are'%:\n" "# %'baseonly'% - Just the %'BaseDN'% object\n" "# %'children'% - The %'BaseDN'% and its direct children\n" "# %'subtree'% - The %'BaseDN'% and all objects below it\n" "# %'SearchBindDN'%: The %'DN'% to bind against in order to search the directory.\n" "# %'SearchPasswd'%: The password for the %'BindDN'% record.\n" "#\n" "# The following field only applies to the '%'sasl'%' bind method.\n" "#\n" "# %'SaslRealm'%: The optional realm to use when authenticating the user via %'SASL'%.\n" "#\n" "# The following fields only need to be set if users must also belong to a\n" "# group within the directory.\n" "#\n" "# %'GroupSearchFilter'%: The filter to use for the group search.\n" "# %'GroupBaseDN'%: The search base for performing the group search. If unset\n" "# this will default to the %'SearchBaseDN'%.\n" "# %'GroupSearchScope'%: The scope to use when performing the group search.\n" "# Options are:\n" "# %'baseonly'% - Just the %'BaseDN'% object\n" "# %'children'% - The %'BaseDN'% and its direct children\n" "# %'subtree'% - The %'BaseDN'% and all objects below it\n" }; ErrorId MsgSpec::SpecLicense = { ErrorOf( ES_SPEC, 13, E_INFO, EV_NONE, 0 ), "# A %'Perforce License'% Specification.\n" "#\n" "# %'License'%: The license key.\n" "# %'License-Expires'%: Date at which the license expires.\n" "# %'Support-Expires'%: Date at which support expires.\n" "# %'Customer'%: Customer to whom this license is granted.\n" "# %'Application'%: Application that can use this license.\n" "# %'IPAddress'%: %'IP/Port'% address for license.\n" "# %'Platform'%: Platform.\n" "# %'Clients'%: Number of supported clients.\n" "# %'Users'%: Number of supported users.\n" "#\n" "# Use '%'p4 help license'%' to see more about license specification.\n" }; ErrorId MsgSpec::SpecChange = { ErrorOf( ES_SPEC, 4, E_INFO, EV_NONE, 0 ), "# A %'Perforce Change'% Specification.\n" "#\n" "# %'Change'%: The change number. '%'new'%' on a new changelist.\n" "# %'Date'%: The date this specification was last modified.\n" "# %'Client'%: The client on which the changelist was created. Read-only.\n" "# %'User'%: The user who created the changelist.\n" "# %'Status'%: Either '%'pending'%' or '%'submitted'%'. Read-only.\n" "# %'Type'%: Either '%'public'%' or '%'restricted'%'. Default is '%'public'%'.\n" "# %'Description'%: Comments about the changelist. Required.\n" "# %'Jobs'%: What opened jobs are to be closed by this changelist.\n" "# You may delete jobs from this list. (New changelists only.)\n" "# %'Files'%: What opened files from the default changelist are to be added\n" "# to this changelist. You may delete files from this list.\n" "# (New changelists only.)\n" }; ErrorId MsgSpec::SpecDepot = { ErrorOf( ES_SPEC, 5, E_INFO, EV_NONE, 0 ), "# A %'Perforce Depot'% Specification.\n" "#\n" "# %'Depot'%: The name of the depot.\n" "# %'Owner'%: The user who created this depot.\n" "# %'Date'%: The date this specification was last modified.\n" "# %'Description'%: A short description of the depot (optional).\n" "# %'Type'%: Whether the depot is '%'local'%', '%'remote'%', '%'spec'%', '%'archive'%',\n" "# '%'stream'%', or '%'unload'%'. Default is '%'local'%'.\n" "# %'Address'%: Connection address (remote depots only).\n" "# %'Suffix'%: Suffix for all saved specs (spec depot only).\n" "# %'Map'%: Path translation information (must have %'...'% in it).\n" "# %'SpecMap'%: For %'spec'% depot, which specs should be recorded (optional).\n" "#\n" "# Use '%'p4 help depot'%' to see more about depot forms.\n" }; ErrorId MsgSpec::SpecGroup = { ErrorOf( ES_SPEC, 6, E_INFO, EV_NONE, 0 ), "# A %'Perforce Group'% Specification.\n" "#\n" "# %'Group'%: The name of the group.\n" "# %'MaxResults'%: Limits the rows (unless '%'unlimited'%' or '%'unset'%') any one\n" "# operation can return to the client.\n" "# See '%'p4 help maxresults'%'.\n" "# %'MaxScanRows'%: Limits the rows (unless '%'unlimited'%' or '%'unset'%') any one\n" "# operation can scan from any one database table.\n" "# See '%'p4 help maxresults'%'.\n" "# %'MaxLockTime'%: Limits the time (in milliseconds, unless '%'unlimited'%' or\n" "# '%'unset'%') any one operation can lock any database table when\n" "# scanning data. See '%'p4 help maxresults'%'.\n" "# %'Timeout'%: A time (in seconds, unless '%'unlimited'%' or '%'unset'%')\n" "# which determines how long a '%'p4 login'%'\n" "# session ticket remains valid (default is 12 hours).\n" "# %'PasswordTimeout'%:\n" "# A time (in seconds, unless '%'unlimited'%' or '%'unset'%')\n" "# which determines how long a '%'p4 password'%'\n" "# password remains valid (default is unset).\n" "# %'LdapConfig'%: The LDAP configuration to use when populating the group's\n" "# user list from an LDAP query. See '%'p4 help ldap'%'.\n" "# %'LdapSearchQuery'%:\n" "# The LDAP query used to identify the members of the group.\n" "# %'LdapUserAttribute'%:\n" "# The LDAP attribute that represents the user's username.\n" "# %'Subgroups'%: Other groups automatically included in this group.\n" "# %'Owners'%: Users allowed to change this group without requiring super\n" "# access permission.\n" "# %'Users'%: The users in the group. One per line.\n" }; ErrorId MsgSpec::SpecProtect = { ErrorOf( ES_SPEC, 7, E_INFO, EV_NONE, 0 ), "# %'Perforce Protections'% Specification.\n" "#\n" "# Each line contains a protection mode, a group/user indicator, the\n" "# group/user name, client host id and a depot file path pattern.\n" "# A user gets the highest privilege granted on any line.\n" "#\n" "# %'Mode'%: The permission level or right being granted or denied. Each\n" "# permission level includes all the permissions above it,\n" "# except for '%'review'%'. Each permission right only includes\n" "# the specific right and not all the lesser rights. Modes\n" "# preceded by '=' are rights; all other modes are levels.\n" "#\n" "# %'list'% - users can see names but not contents of files;\n" "# users can see all non-file related metadata\n" "# (%'clients'%, %'users'%, %'changelists'%, %'jobs'%, etc.)\n" "#\n" "# %'read'% - users can %'sync'%, %'diff'%, and %'print'% files\n" "#\n" "# %'open'% - users can %'add'%, %'edit'%, %'delete'%, and %'integrate'% files\n" "#\n" "# %'write'% - users can %'submit'% open files\n" "#\n" "# %'admin'% - permits those administrative commands and command\n" "# options that don't affect the server's security\n" "#\n" "# %'super'% - allows access to the '%'p4 protect'%' command\n" "#\n" "# %'review'% - allows access to the '%'p4 review'%' command; implies\n" "# read access\n" "#\n" "# %'=read'% - if this right is denied, users cannot sync, diff,\n" "# or print files\n" "#\n" "# %'=branch'% - if this right is denied, users are not permitted\n" "# to use files as a source for '%'p4 integrate'%'\n" "#\n" "# %'=open'% - if this right is denied, users cannot open files\n" "# (%'add'%, %'edit'%, %'delete'%, %'integrate'%)\n" "#\n" "# %'=write'% - if this right is denied, users cannot submit open\n" "# files\n" "#\n" "# %'Group/User'% indicator: either '%'group'%' or '%'user'%'.\n" "#\n" "# %'Name'%: A %'Perforce'% group or user name; may be wildcarded.\n" "#\n" "# %'Host'%: The %'IP'% address of a client host; may be wildcarded, or\n" "# may instead use %'CIDR'% syntax, e.g. %'172.16.0.0/16'% would match\n" "# all %'IPv4'% addresses which start with %'172.16'%.\n" "#\n" "# %'Path'%: The part of the depot being granted access.\n" }; ErrorId MsgSpec::SpecServer = { ErrorOf( ES_SPEC, 15, E_INFO, EV_NONE, 0 ), "# A %'Perforce Server'% Specification.\n" "#\n" "# %'ServerID'%: The server identifier.\n" "# %'Type'%: The server type: %'server'%/%'broker'%/%'proxy'%.\n" "# %'Name'%: The %'P4NAME'% used by this server (optional).\n" "# %'Address'%: The %'P4PORT'% used by this server (optional).\n" "# %'ExternalAddress'%:\n" "# For an edge server, this optional field contains its\n" "# external address for connections from the commit server.\n" "# This field is required for distributed parallel submit.\n" "# %'Description'%: A short description of the server (optional).\n" "# %'Services'%: Services provided by this server.\n" "# One of the following (grouped by server type):\n" "# Type %''server''%:\n" "# %'standard'%: standard %'Perforce'% server\n" "# %'replica'%: read-only replica server\n" "# %'commit-server'%: central server in distributed installation\n" "# %'edge-server'%: node in distributed installation\n" "# %'forwarding-replica'%: replica which forwards update commands\n" "# %'build-server'%: replica which supports build farm integration\n" "# %'P4AUTH'%: server which provides central authentication\n" "# %'P4CHANGE'%: server which provides central change numbers\n" "# %'depot-master'%: commit-server with automated failover\n" "# %'depot-standby'%: standby replica of the depot-master\n" "# %'workspace-server'%: node in data center installation\n" "# %'standby'%: read-only replica server which uses %'journalcopy'%\n" "# %'forwarding-standby'%: forwarding-replica which uses %'journalcopy'%\n" "# %'local'%: personal server created by %'init'%\n" "# Type %''broker''%:\n" "# %'broker'%: %'p4broker'% process\n" "# %'workspace-router'%: Routing %'broker'% in data center installation\n" "# Type %''proxy''%:\n" "# %'proxy'%: %'p4p'% caching proxy\n" "# %'User'%: The service user which will be used by this server\n" "# %'ClientDataFilter'%:\n" "# For a replica server, this optional field can contain one\n" "# or more patterns describing how active client data is to\n" "# be filtered. Active client data includes have lists,\n" "# working records, and pending resolves.\n" "# %'RevisionDataFilter'%:\n" "# For a replica server, this optional field can contain one\n" "# or more patterns describing how submitted revision data is\n" "# to be filtered. Submitted revision data includes revision\n" "# records, integration records, label contents, and the files\n" "# listed in submitted changelists.\n" "# %'ArchiveDataFilter'%:\n" "# For a replica server, this optional field can contain one\n" "# or more patterns describing the policy for automatically\n" "# scheduling the replication of file content. If this field\n" "# is present, only those files described by the pattern are\n" "# automatically transferred to the replica; other files will\n" "# not be transferred until they are referenced by a replica\n" "# command which needs the file content.\n" "#\n" "# Use '%'p4 help server'%' to see more about server ids and services.\n" }; ErrorId MsgSpec::SpecTrigger = { ErrorOf( ES_SPEC, 8, E_INFO, EV_NONE, 0 ), "# %'Perforce Submit'% and Form Validating Trigger Specifications.\n" "#\n" "# %'Triggers'%: a list of triggers; one per line. Each trigger line must be\n" "# indented with spaces or tabs in the form. Each line has four\n" "# elements:\n" "#\n" "# %'Name'%: The name of the trigger.\n" "#\n" "# %'Type'%: '%'archive'%' external archive access triggers\n" "# '%'auth-check'%' check authentication trigger\n" "# '%'auth-check-sso'%' sso check authentication trigger\n" "# '%'auth-set'%' set authentication trigger\n" "# '%'change-submit'%' pre-submit triggers\n" "# '%'change-content'%' modify content submit triggers\n" "# '%'change-commit'%' post-submit triggers\n" "# '%'change-failed'%' submit failure fires these triggers\n" "# '%'command'%' pre/post user command triggers\n" "# '%'edge-submit'%' Edge Server pre-submit\n" "# '%'edge-content'%' Edge Server content submit\n" "# '%'fix-add'%' pre-add fix triggers\n" "# '%'fix-delete'%' pre-delete fix triggers\n" "# '%'form-in'%' modify form in triggers\n" "# '%'form-out'%' modify form out triggers\n" "# '%'form-save'%' pre-save form triggers\n" "# '%'form-commit'%' post-save form triggers\n" "# '%'form-delete'%' pre-delete form triggers\n" "# '%'service-check'%' check auth trigger (service users)\n" "# '%'shelve-submit'%' pre-shelve triggers\n" "# '%'shelve-commit'%' post-shelve triggers\n" "# '%'shelve-delete'%' pre-delete shelve triggers\n" "#\n" "# %'Path'%: For %'change-*'%, %'edge-*'%, or %'shelve-*'% triggers, a pattern\n" "# to match files in the changelist.\n" "#\n" "# For %'form-*'% triggers, the type of form: e.g. '%'branch'%'\n" "# '%'client'%', etc.\n" "#\n" "# For %'fix-*'% triggers use '%'fix'%'.\n" "#\n" "# For %'auth-*'% triggers use '%'auth'%'.\n" "#\n" "# For archive triggers, a file pattern to match the\n" "# file name being accessed.\n" "#\n" "# For command triggers, the client command to match.\n" "# Must be in the form \"%'(pre|post)-user-$command'%\",\n" "# e.g. \"%'pre-user-tag'%\". The command name is a regular\n" "# expression. See \"p4 help grep\" for details on\n" "# syntax.\n" "#\n" "# %'Command'%: The %'OS'% command to run for validation. If the\n" "# command contains spaces, the whole command must\n" "# be quoted. See '%'p4 help triggers'%' for a list of\n" "# variables that can be expanded in the command\n" "# string.\n" "#\n" "# For example,\n" "#\n" "# %'Triggers'%:\n" "# %'cscheck change-submit //depot/... \"cmd '%%%%'changelist'%%%%'\"'%\n" "# %'no-oblits command pre-user-obliterate fail'%\n" "# %'mkspec form-out client \"'%%%%'quote'%%%%'//trig/scr.pl'%%%%'quote'%%%%'\"'%\n" "#\n" "# See '%'p4 help triggers'%' for more information about triggers.\n" }; ErrorId MsgSpec::SpecTypeMap = { ErrorOf( ES_SPEC, 9, E_INFO, EV_NONE, 0 ), "# %'Perforce File Type'% Mapping Specifications.\n" "#\n" "# %'TypeMap'%: a list of filetype mappings; one per line.\n" "# Each line has two elements:\n" "#\n" "# %'Filetype'%: The filetype to use on '%'p4 add'%'.\n" "#\n" "# %'Path'%: File pattern which will use this filetype.\n" "#\n" "# See '%'p4 help typemap'%' for more information.\n" }; ErrorId MsgSpec::SpecUser = { ErrorOf( ES_SPEC, 10, E_INFO, EV_NONE, 0 ), "# A %'Perforce User'% Specification.\n" "#\n" "# %'User'%: The user's user name.\n" "# %'Type'%: Either '%'service'%', '%'operator'%', or '%'standard'%'.\n" "# Default: '%'standard'%'. Read only.\n" "# %'Email'%: The user's email address; for email review.\n" "# %'Update'%: The date this specification was last modified.\n" "# %'Access'%: The date this user was last active. Read only.\n" "# %'FullName'%: The user's real name.\n" "# %'JobView'%: Selects jobs for inclusion during changelist creation.\n" "# %'Password'%: If set, user must have matching %'$P4PASSWD'% on client.\n" "# %'AuthMethod'%: '%'perforce'%' if using standard authentication or '%'ldap'%' if\n" "# this user should use native %'LDAP'% authentication.\n" "# %'Reviews'%: Listing of depot files to be reviewed by user.\n" }; ErrorId MsgSpec::SpecJob = { ErrorOf( ES_SPEC, 11, E_INFO, EV_NONE, 0 ), "# A %'Perforce Job'% Specification.\n" "#\n" "# %'Job'%: The job name. '%'new'%' generates a sequenced job number.\n" "# %'Status'%: Either '%'open'%', '%'closed'%', or '%'suspended'%'. Can be changed.\n" "# %'User'%: The user who created the job. Can be changed.\n" "# %'Date'%: The date this specification was last modified.\n" "# %'Description'%: Comments about the job. Required.\n" }; ErrorId MsgSpec::SpecEditSpec = { ErrorOf( ES_SPEC, 12, E_INFO, EV_NONE, 0 ), "# A %'Perforce Spec'% Specification.\n" "#\n" "# Updating this form can be dangerous!\n" "# To update the job spec, see '%'p4 help jobspec'%' for proper directions.\n" "# Otherwise, see '%'p4 help spec'%'.\n" }; ErrorId MsgSpec::SpecRemote = { ErrorOf( ES_SPEC, 17, E_INFO, EV_NONE, 0 ), "# A %'Perforce Remote'% Specification.\n" "#\n" "# %'RemoteID'%: The remote identifier.\n" "# %'Address'%: The %'P4PORT'% used by the remote server.\n" "# %'Owner'%: The user who created this remote.\n" "# %'Options'%: Remote options: %'[un]locked, [no]compress'%.\n" "# %'Update'%: The date this specification was last modified.\n" "# %'Access'%: The date of the last '%'push/fetch'%' on this remote.\n" "# %'Description'%: A short description of the remote server (optional).\n" "# %'LastFetch'%: The last changelist that was fetched.\n" "# %'LastPush'%: The last changelist that was pushed.\n" "# %'DepotMap'%: Lines to map local files to remote files.\n" "#\n" "# See 'p4 help remote' for detailed information.\n" }; // ErrorId graveyard: retired/deprecated ErrorIds.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 18760 | rlranft |
Populate -o //guest/perforce_software/p4/... //guest/rlranft/p4/.... |
||
//guest/perforce_software/p4/2015-1/msgs/msgspec.cc | |||||
#1 | 15903 | Matt Attaway | Everything should be happy now between the Workshop and the depot paths | ||
//guest/perforce_software/p4/2015_1/msgs/msgspec.cc | |||||
#1 | 15901 | Matt Attaway | Clean up code to fit modern Workshop naming standards | ||
//guest/perforce_software/p4/2015.1/msgs/msgspec.cc | |||||
#1 | 12190 | Matt Attaway | Initial drop of 2015.1 p4/p4api source |