pi ip

Commands related to the IP object.

Command Overview

> pi ip -h
Usage: pi ip [-h] SUBCOMMAND ...

Description: Commands related to IP. These subcommands are used to add, edit,
delete and list information about IP.

Optional arguments:
  -h, --help            Show this help message and exit

Available sub-commands:
  SUBCOMMAND
    add                 Create a new IP.
    attribute (attr)    Commands related to IP, Line or IPV Attributes.
    copy (cp)           Create a new IP or new Line based on an existing IPV.
    delete (del, remove, rm)
                        Delete an IP or a Line, along with all of its IPVs.
    diff                Compare two IPVs.
    edit                Edit an existing IP.
    list (ls)           List all matching IP.
    load                Load an IP into a Workspace.
    local               Create a local copy of an IP.
    obliterate          Obliterate an existing IP.
    properties (prop)   Edit the IP/IPV Properties on an existing IP.
    publish             Publish the given IPV to a IPLM Cache.
    refer               Switch an IP to refer mode.
    rm-from-filelist    Remove a file from the filelists of IPVs on a Line.
    tree                Display the hierarchy of the specified IPV.
    usage               Report on IPV usage by other IPVs.

More information and documentation available at:
  https://help.perforce.com/methodics/
Copyright © 2010-2025 Perforce, Inc.

IP Template

[IP]
# IP Permissions apply
# Name is required
name = newip

# Library is required
library = tutorial

# DM type is required
# One of CONT FS P4 SVN, or any custom DM type
dm_type =

# Host is used for p4 IP only
host =

# Description is optional
description =

# Icon is optional
icon =

# Hooks are optional commands executed when certain events occur. These
# variables can be used as arguments to the hooks :
#     $IP     : IP name
#     $LIB    : Library name
#     $VER    : Version number
#               For pre-release hook, the old version number. For post-release
#               hook, the new version number.
#     $LINE   : Line name
#     $IPID   : Complete IP identifier (shorthand for $LIB.$IP@$VER.$LINE)
#     $IP_DIR : IP directory in the workspace
#     $ARGS   : Any arguments passed to the pi command with the --args argument
#               For instance, pi release lib.ip --args [arguments_for_hook]
[HOOKS]
# IP Permissions apply
pre_release =
post_release =
post_load =
post_update =
pre_integrate =
post_integrate =

# ------------------------------------------------------------------------------

[LINE]
# IP Line Permissions apply
# For new IP, line is always TRUNK
line = TRUNK

# Icon is optional
icon =


# ------------------------------------------------------------------------------

[IPV]
# IP Line Permissions apply
# Repo path
repo_path =

# Required
version_message = First version

# Icon is optional
icon =

# Resources are optional
# One resource per line (newlines require a leading space)
resources =

# Private resources are only loaded when this IP is the top level of a Workspace.
# This is useful to prevent subsystem test benches from loading into bigger Workspaces.
private_resources =

# Project properties (project_props) are optional
# One resource per line (newlines require a leading space)
# A property set on a resource in the top IP overrides the same property
# set on the resource itself.
#
# Format: <ip_identifier> [--path <path>] [--mode local|refer|both]
#                         [--resolve <IPV>] [--unix_group <group>]
#   ip_identifier:    the resource IP
#                     These wildcards are allowed in resource names:
#                     *     - refers to all resources. (Default)
#                     LIB.  - refers to all resources belonging to library LIB.
#    --path: A relative path in the workspace where the IP is placed in.
#            $LIB and $IP are provided as convenience vars with the
#            default location in "$LIB.$IP" of the workspace dir.
#            ex: --path data      - IP directory is renamed to "data"#                --path $IP       - IP is placed in a top level dir "$IP"#                --path dir/$IP   - IP is placed in "dir/$IP"#    --mode: Makes the IP local only, or refer only. If the mode is unset both
#            at the top level and at the resource then the IP can be switched
#            between refer and local. The mode "both" can be used at the top
#            level to override a mode of refer or local set at a resource level.
#            ex: resource IP "SUBSYS" has mode --local set so a workspace with
#                SUBSYS at the top is always in local mode
#                an IP "TOP" that uses SUBSYS as a resource can override that
#                using a mode "both"#    --resolve: When a conflict between multiple resources occurs, this
#               specifies which one of the resources must be used. The --resolve
#               project property can only be applied to the default * group. All
#               resolutions must be specified in one single --resolve directive
#               eg: --resolve lib1.ip1@1.TRUNK lib2.ip2@ALIAS.LINE ...
#    --unix_group: Group owner of the IP directory in the shared area and
#                workspaces. eg: --unix_group group1
project_props =
                                                                                                                                                                                   

Subcommand