<?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"&gt;Tutorial Overview&lt;/h2&gt;&lt;p&gt;You will learn how to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Initialize a new package revision&lt;/li&gt;
&lt;li&gt;Pull the package revision locally&lt;/li&gt;
&lt;li&gt;Modify the package revision contents&lt;/li&gt;
&lt;li&gt;Push changes back to Porch&lt;/li&gt;
&lt;li&gt;Propose the package revision for review&lt;/li&gt;
&lt;li&gt;Approve or reject the package revision&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;
&lt;p&gt;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;/p&gt;</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&gt;
&lt;h2 id="basic-operations"&gt;Basic Operations&lt;/h2&gt;&lt;p&gt;These operations cover the fundamental commands for viewing and inspecting package revisions in Porch.&lt;/p&gt;
&lt;h3 id="getting-all-package-revisions"&gt;Getting All Package Revisions&lt;/h3&gt;&lt;p&gt;Get all package revisions across all repositories in a namespace:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;porchctl rpkg get --namespace default
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;What this does:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Queries Porch for all PackageRevisions in the specified namespace&lt;/li&gt;
&lt;li&gt;Displays a summary table with key information&lt;/li&gt;
&lt;li&gt;Shows PackageRevisions from all registered repositories&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;
&lt;p&gt;&lt;code&gt;porchctl rpkg list&lt;/code&gt; is an alias for &lt;code&gt;porchctl rpkg get&lt;/code&gt; and can be used interchangeably:&lt;/p&gt;</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"&gt;Tutorial Overview&lt;/h2&gt;&lt;p&gt;You will learn how to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find a PackageRevision to copy&lt;/li&gt;
&lt;li&gt;Copy a PackageRevision to create a new revision&lt;/li&gt;
&lt;li&gt;Modify the copied PackageRevision&lt;/li&gt;
&lt;li&gt;Propose and approve the new revision&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;
&lt;p&gt;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;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="key-concepts"&gt;Key Concepts&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Copy&lt;/strong&gt;: Creates a new independent PackageRevision within the same repository&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source PackageRevision&lt;/strong&gt;: The original PackageRevision being copied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Target PackageRevision&lt;/strong&gt;: The new PackageRevision created by the copy operation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workspace&lt;/strong&gt;: Must be unique within the package for the target&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Same-repository operation&lt;/strong&gt;: Copy only works within a single repository&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Immutability&lt;/strong&gt;: Published PackageRevisions cannot be modified, only copied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clone vs Copy&lt;/strong&gt;: Use clone for cross-repository operations, copy for same-repository versions&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="understanding-copy-operations"&gt;Understanding Copy Operations&lt;/h2&gt;&lt;p&gt;Copying creates a new PackageRevision based on an existing one &lt;strong&gt;within the same repository&lt;/strong&gt;. The copied PackageRevision is completely &lt;strong&gt;independent with no upstream link&lt;/strong&gt; to the source.&lt;/p&gt;</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"&gt;Tutorial Overview&lt;/h2&gt;&lt;p&gt;You will learn how to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find a PackageRevision to clone&lt;/li&gt;
&lt;li&gt;Clone a PackageRevision to a different repository&lt;/li&gt;
&lt;li&gt;Modify the cloned PackageRevision&lt;/li&gt;
&lt;li&gt;Propose and approve the new revision&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;
&lt;p&gt;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;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="understanding-clone-operations"&gt;Understanding Clone Operations&lt;/h2&gt;&lt;p&gt;Cloning creates a new PackageRevision based on an existing one and works &lt;strong&gt;across different repositories&lt;/strong&gt;. The cloned PackageRevision maintains an &lt;strong&gt;upstream reference&lt;/strong&gt; to its source, allowing it to receive updates.&lt;/p&gt;</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&gt;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&gt;
&lt;p&gt;For detailed command reference, see the 
&lt;a href="/v1.5/docs/7_cli_api/porchctl/"&gt;porchctl CLI guide&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="key-concepts"&gt;Key Concepts&lt;/h2&gt;&lt;p&gt;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&gt;</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"&gt;Tutorial Overview&lt;/h2&gt;&lt;p&gt;You will learn how to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Delete Draft and Proposed PackageRevisions directly&lt;/li&gt;
&lt;li&gt;Propose Published PackageRevisions for deletion&lt;/li&gt;
&lt;li&gt;Approve or reject deletion proposals&lt;/li&gt;
&lt;li&gt;Understand the deletion workflow and safety mechanisms&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="alert alert-primary" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Note&lt;/div&gt;
&lt;p&gt;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;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="understanding-packagerevision-deletion"&gt;Understanding PackageRevision Deletion&lt;/h2&gt;&lt;p&gt;PackageRevision deletion in Porch follows different workflows depending on the lifecycle state:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Direct Deletion:&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>