IP Lines (Branches)
Helix IPLM can track multiple lines of development for each IP. Each IP Line has a series of independent, sequential releases. The relationship between IP Lines is tracked when a new line is created with IP copy. This page describes how to create and manage IP Lines. IP Lines are used to track IP variants, and to track new drops of external IPs. When IPVs are copied to new lines or entirely new IPs the IPV source of the copy is retained in the newly copied object. This provides traceability of the copy history of any series of IPs.
Line name restrictions
Forbidden characters | Reason for restriction |
---|---|
' / ' | UNIX filename separator |
'\', '?', or '*' |
UNIX Special Characters |
No Whitespace | Command parsing |
'@', '#', '.' (dot), or colon ':' |
Helix IPLM Special Characters |
Permission details for IP Lines
Note: Permission granularity is at the Line level. All IPVs on a Line get the same permissions.
Permission | Allows | Implied permissions |
---|---|---|
View (v) |
List the Line and all the IPVs on the Line and their contents View Line permissions |
Library Read (r) IP Read (r) |
Read (r) |
List the Line and all the IPVs on the Line and their contents View Line permissions Load a release of the IP (an IPV) into a workspace (either standalone or as part of another IP's hierarchy) Use a release of the IP (an IPV) as a resource in another IP Perform an IP copy with one of the IPVs on the Line as the source Perform an IP merge with one of the IPVs on the Line as a source |
Library Read (r) IP Read (r) |
Write (w) |
Create new releases (IPVs) on the Line Delete existing latest release IPVs on the Line. Note: IPV delete capability with write permission is reserved for admin users by default, and it is a feature that can be enabled. See pi-admin global configuration for more details. |
Library Read (r) IP Read (r) Line Read (r) |
Owner (o) |
Edit Line permissions Delete existing latest release IPVs on the Line Note: IPV delete capability with owner permission is reserved for admin users by default, and it is a feature that can be enabled. See pi-admin global configuration for more details. |
Library Read (r) IP Read (r) Line Read (r) |
Creating a Line in IPLM Web
Select Create line on the IPV page. The Create line window opens. Enter the new Line name, the Repo Path, and the Version Message.
The Repo Path can be automatically copied from the Source IP using the '(Copy Repo Path from IPv)' link if desired. Note that the Repo Path must be modified for the new Line once copied.
Once configured, select Create line.
Viewing the Line source
The IP Line info tab shows the source of the Line.
The Line Graph tab shows the sources of each line in a given IP.
Creating and managing IP Lines using CLI
Lines are created from other Lines on a given IP via the pi ip copy
command on the CLI, or by creating a new line on IPLM Web. When an IP is created it is always created with the TRUNK line by default. If for example the IP Line 'LIB.IP@.TRUNK' already exists and we want to create an additional IP Line to use for an external IP Revision called 'REV2' and we decide the @3 version of LIB.IP@.TRUNK (LIB.IP@3.TRUNK) has the metadata we wish to use, we would do the following from the CLI:
pi ip copy --repo-path //mdx_test/LIB/IP/REV2 LIB.IP@3.TRUNK LIB.IP@.REV2 -m 'New REV2 Line' Successfully created new Line 'LIB.IP@0.REV2'
See Copying IPs for more information on the pi ip copy
command.
If entering a pi ip list -v command on the new line:
> pi ip list -v LIB.IP@.REV2 IP Version LIB.IP@0.REV2: Description - Helix IPLM External IP DM type - Perforce (P4) Host - Repo Path - //mdx_test/LIB/IP/REV2 Resources - LIB.PDK@GOLD.TRUNK [@5] LIB.LICENSE@LATEST.TRUNK [@1] Current Aliases - HEAD LATEST Historic Aliases - Version Message - new REV2 line ... Project Properties: * - --path blocks/$IP Branching Information: Source - LIB.IP@3.TRUNK IP Properties: target_power - 0.5 mW (*) target_size - 35.0 sq-mm IP Version Properties: coverage - 22.0 % (*) power - 1.0 mW (*) regr - 100 /2000 (*) size - 1.0 sq-mm (*) Permissions on IP: Owner - g:mygroup Write Permissions - g:mygroup Read Permissions - g:mygroup Permissions on Line REV2: Owner - g:mygroup Write Permissions - g:mygroup Read Permissions - g:mygroup Hooks: No Hooks defined. Found 1 matching object(s).
The resources, properties, and permissions, of the default @TRUNK Line were copied over to our new REV2 line. In addition, Helix IPLM tracks the source of our branch (LIB.IP@3.TRUNK).