<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Working with Package Revisions on Porch Documentation</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/</link><description>Recent content in Working with Package Revisions on Porch Documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating Package Revisions</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/creating-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/creating-packages/</guid><description>&lt;h2 id="tutorial-overview">Tutorial Overview&lt;/h2>&lt;p>You will learn how to:&lt;/p>
&lt;ol>
&lt;li>Initialize a new package revision&lt;/li>
&lt;li>Pull the package revision locally&lt;/li>
&lt;li>Modify the package revision contents&lt;/li>
&lt;li>Push changes back to Porch&lt;/li>
&lt;li>Propose the package revision for review&lt;/li>
&lt;li>Approve or reject the package revision&lt;/li>
&lt;/ol>
&lt;hr>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 Please note the tutorial assumes a porch repository is initialized with the &amp;ldquo;porch-test&amp;rdquo; name.
We recommended to use this for simpler copy pasting of commands otherwise replace any &amp;ldquo;porch-test&amp;rdquo; value with your repository&amp;rsquo;s name in the below commands.

&lt;/div>

&lt;h2 id="step-1-initialize-your-first-package-revision">Step 1: Initialize Your First Package Revision&lt;/h2>&lt;p>Create a new package revision in Porch using the &lt;code>init&lt;/code> command:&lt;/p></description></item><item><title>Getting Package Revisions</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/inspecting-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/inspecting-packages/</guid><description>&lt;hr>
&lt;h2 id="basic-operations">Basic Operations&lt;/h2>&lt;p>These operations cover the fundamental commands for viewing and inspecting package revisions in Porch.&lt;/p>
&lt;h3 id="getting-all-package-revisions">Getting All Package Revisions&lt;/h3>&lt;p>Get all package revisions across all repositories in a namespace:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">porchctl rpkg get --namespace default
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>What this does:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Queries Porch for all PackageRevisions in the specified namespace&lt;/li>
&lt;li>Displays a summary table with key information&lt;/li>
&lt;li>Shows PackageRevisions from all registered repositories&lt;/li>
&lt;/ul>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 &lt;p>&lt;code>porchctl rpkg list&lt;/code> is an alias for &lt;code>porchctl rpkg get&lt;/code> and can be used interchangeably:&lt;/p></description></item><item><title>Copying Package Revisions</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/copying-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/copying-packages/</guid><description>&lt;h2 id="tutorial-overview">Tutorial Overview&lt;/h2>&lt;p>You will learn how to:&lt;/p>
&lt;ol>
&lt;li>Find a PackageRevision to copy&lt;/li>
&lt;li>Copy a PackageRevision to create a new revision&lt;/li>
&lt;li>Modify the copied PackageRevision&lt;/li>
&lt;li>Propose and approve the new revision&lt;/li>
&lt;/ol>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 The tutorial assumes a porch repository is initialized with the &amp;ldquo;porch-test&amp;rdquo; name.
We recommended to use this for simpler copy pasting of commands otherwise replace any &amp;ldquo;porch-test&amp;rdquo; value with your repository&amp;rsquo;s name in the below commands.

&lt;/div>

&lt;hr>
&lt;h2 id="key-concepts">Key Concepts&lt;/h2>&lt;ul>
&lt;li>&lt;strong>Copy&lt;/strong>: Creates a new independent PackageRevision within the same repository&lt;/li>
&lt;li>&lt;strong>Source PackageRevision&lt;/strong>: The original PackageRevision being copied&lt;/li>
&lt;li>&lt;strong>Target PackageRevision&lt;/strong>: The new PackageRevision created by the copy operation&lt;/li>
&lt;li>&lt;strong>Workspace&lt;/strong>: Must be unique within the package for the target&lt;/li>
&lt;li>&lt;strong>Same-repository operation&lt;/strong>: Copy only works within a single repository&lt;/li>
&lt;li>&lt;strong>Immutability&lt;/strong>: Published PackageRevisions cannot be modified, only copied&lt;/li>
&lt;li>&lt;strong>Clone vs Copy&lt;/strong>: Use clone for cross-repository operations, copy for same-repository versions&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="understanding-copy-operations">Understanding Copy Operations&lt;/h2>&lt;p>Copying creates a new PackageRevision based on an existing one &lt;strong>within the same repository&lt;/strong>. The copied PackageRevision is completely &lt;strong>independent with no upstream link&lt;/strong> to the source.&lt;/p></description></item><item><title>Cloning Package Revisions</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/cloning-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/cloning-packages/</guid><description>&lt;h2 id="tutorial-overview">Tutorial Overview&lt;/h2>&lt;p>You will learn how to:&lt;/p>
&lt;ol>
&lt;li>Find a PackageRevision to clone&lt;/li>
&lt;li>Clone a PackageRevision to a different repository&lt;/li>
&lt;li>Modify the cloned PackageRevision&lt;/li>
&lt;li>Propose and approve the new revision&lt;/li>
&lt;/ol>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 Please note the tutorial assumes repositories are initialized with the &amp;ldquo;blueprints&amp;rdquo; and &amp;ldquo;deployments&amp;rdquo; names.
We recommended to use these for simpler copy pasting of commands otherwise replace these values with your repository names in the below commands.

&lt;/div>

&lt;hr>
&lt;h2 id="understanding-clone-operations">Understanding Clone Operations&lt;/h2>&lt;p>Cloning creates a new PackageRevision based on an existing one and works &lt;strong>across different repositories&lt;/strong>. The cloned PackageRevision maintains an &lt;strong>upstream reference&lt;/strong> to its source, allowing it to receive updates.&lt;/p></description></item><item><title>Upgrading Package Revisions</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/upgrading-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/upgrading-packages/</guid><description>&lt;p>The package upgrade feature in Porch is a powerful mechanism for keeping deployed packages (downstream) up-to-date with their source blueprints (upstream). This guide walks through the entire workflow, from creating packages to performing an upgrade, with a special focus on the different upgrade scenarios and merge strategies.&lt;/p>
&lt;p>For detailed command reference, see the 
&lt;a href="/v1.5/docs/7_cli_api/porchctl/">porchctl CLI guide&lt;/a>.&lt;/p>
&lt;h2 id="key-concepts">Key Concepts&lt;/h2>&lt;p>To understand the upgrade process, it&amp;rsquo;s essential to be familiar with the three states of a package during a merge operation:&lt;/p></description></item><item><title>Deleting Package Revisions</title><link>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/deleting-packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/docs/4_tutorials_and_how-tos/working_with_package_revisions/deleting-packages/</guid><description>&lt;h2 id="tutorial-overview">Tutorial Overview&lt;/h2>&lt;p>You will learn how to:&lt;/p>
&lt;ol>
&lt;li>Delete Draft and Proposed PackageRevisions directly&lt;/li>
&lt;li>Propose Published PackageRevisions for deletion&lt;/li>
&lt;li>Approve or reject deletion proposals&lt;/li>
&lt;li>Understand the deletion workflow and safety mechanisms&lt;/li>
&lt;/ol>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 This tutorial assumes a porch repository is initialized with the &amp;ldquo;porch-test&amp;rdquo; name.
Replace any &amp;ldquo;porch-test&amp;rdquo; value with your repository&amp;rsquo;s name in the commands below.

&lt;/div>

&lt;hr>
&lt;h2 id="understanding-packagerevision-deletion">Understanding PackageRevision Deletion&lt;/h2>&lt;p>PackageRevision deletion in Porch follows different workflows depending on the lifecycle state:&lt;/p>
&lt;p>&lt;strong>Direct Deletion:&lt;/strong>&lt;/p></description></item></channel></rss>