<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>publish on SOW</title>
    <link>https://sow.pgsty.com/tags/publish/</link>
    <description>Recent content in publish on SOW</description>
    <generator>Hugo</generator>
    <language>en</language>
    
    
    
      <lastBuildDate>Fri, 28 Aug 2026 18:32:04 +0800</lastBuildDate>
    
    
      <atom:link href="https://sow.pgsty.com/tags/publish/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>SOW v0.4.0</title>
        <link>https://sow.pgsty.com/blog/release/sow-v0.4.0/</link>
        <pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/blog/release/sow-v0.4.0/</guid>
        <description>&lt;p&gt;SOW 0.4.0 is an integrity and recovery release for Managed repositories. It makes&#xA;the deep checker&amp;rsquo;s I/O contract explicit, prevents RPM trust from being assembled&#xA;across unrelated keys, adds an audited way to correct mutable publication-target&#xA;settings, and closes the remaining v0.3 migration and interrupted-publication gaps.&lt;/p&gt;&#xA;&lt;p&gt;Plain repository behavior and the public &lt;code&gt;pool/ + dists/&lt;/code&gt; layout do not change.&lt;/p&gt;&#xA;&lt;h2 id=&#34;upgrade-from-03&#34;&gt;Upgrade from 0.3&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-callout td-callout--important&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-exclamation&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;Migrate every v0.3 Repository explicitly&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;Stop all Workspace writers, back up the Workspace, install 0.4.0, and run&#xA;&lt;code&gt;sow repo migrate REPOSITORY&lt;/code&gt;&#xA;once for each Repository before ordinary reads or writes. The migration is&#xA;explicit and one-way; do not reopen a migrated database with SOW 0.3.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Coordinated Publication Decision</title>
        <link>https://sow.pgsty.com/blog/design/coordinated-publication/</link>
        <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/blog/design/coordinated-publication/</guid>
        <description>&lt;div class=&#34;td-callout td-callout--important&#34; role=&#34;note&#34;&gt;&#xA;  &lt;div class=&#34;td-callout__title&#34;&gt;&lt;i class=&#34;td-callout__icon fa-solid fa-circle-exclamation&#34; aria-hidden=&#34;true&#34;&gt;&lt;/i&gt;&lt;span class=&#34;td-callout__label&#34;&gt;Decision finalized for SOW 0.4.0&lt;/span&gt;&lt;/div&gt;&#xA;  &lt;div class=&#34;td-callout__body&#34;&gt;&#xA;&lt;p&gt;An earlier version of this record proposed an rclone executor, &lt;code&gt;publish --dry-run&lt;/code&gt;, and a&#xA;separate &lt;code&gt;sow audit&lt;/code&gt; command. None of those surfaces shipped in 0.4.0. SOW has no&#xA;rclone dependency, &lt;code&gt;publish&lt;/code&gt; has no &lt;code&gt;--dry-run&lt;/code&gt;, and &lt;code&gt;sow audit&lt;/code&gt; is not a command.&lt;/p&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;This page preserves the decision boundary so a historical proposal cannot be mistaken for the&#xA;current product. The normative behavior is documented in&#xA;&lt;a href=&#34;https://sow.pgsty.com/docs/command/publish/&#34;&gt;&lt;code&gt;sow publish&lt;/code&gt;&lt;/a&gt; and&#xA;&lt;a href=&#34;https://sow.pgsty.com/blog/design/publication/&#34;&gt;Publication &amp;amp; Recovery&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>SOW v0.2.0</title>
        <link>https://sow.pgsty.com/blog/release/sow-docs-launch/</link>
        <pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/blog/release/sow-docs-launch/</guid>
        <description>&lt;p&gt;SOW 0.2.0 is a self-contained RPM and DEB repository manager from&#xA;&lt;a href=&#34;https://pigsty.io&#34;&gt;Pigsty&lt;/a&gt;. Release artifacts target Linux and macOS as single Go&#xA;executables.&lt;/p&gt;&#xA;&lt;h2 id=&#34;two-operating-modes&#34;&gt;Two operating modes&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Plain mode&lt;/strong&gt; indexes RPM and DEB files already present at one directory&amp;rsquo;s top level:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-b4801182-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-b4801182-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow create /srv/repo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;It writes &lt;code&gt;repodata/&lt;/code&gt;, &lt;code&gt;Packages&lt;/code&gt;, and &lt;code&gt;Packages.gz&lt;/code&gt; in place. Plain mode has no&#xA;Workspace, state database, generations, or DEB &lt;code&gt;Release&lt;/code&gt; signing.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Design Records</title>
        <link>https://sow.pgsty.com/blog/design/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/blog/design/</guid>
        <description>&lt;p&gt;Design records explain why SOW adopted a contract, what it rejected, and which evidence&#xA;boundary applies. They are ordered by &lt;code&gt;date&lt;/code&gt;, which records when the rationale first took&#xA;its maintained form; &lt;code&gt;lastmod&lt;/code&gt; records later editorial or implementation-alignment&#xA;updates. Release notes and source tags remain authoritative for when behavior actually&#xA;shipped.&lt;/p&gt;&#xA;&lt;h2 id=&#34;authority-and-evidence&#34;&gt;Authority and evidence&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;This column is the maintained authority for design rationale and decision history. Current&#xA;commands, configuration, and operator behavior remain in &lt;a href=&#34;https://sow.pgsty.com/docs/&#34;&gt;SOW Docs&lt;/a&gt;; exact behavior&#xA;of a historical release remains attached to that release&amp;rsquo;s source tag and&#xA;&lt;a href=&#34;https://sow.pgsty.com/blog/release/&#34;&gt;release note&lt;/a&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Publication &amp; Recovery</title>
        <link>https://sow.pgsty.com/blog/design/publication/</link>
        <pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/blog/design/publication/</guid>
        <description>&lt;p&gt;Building and publishing are separate state transitions. A build produces a target-neutral&#xA;Generation. Publication applies that Generation to one provider prefix and records enough&#xA;evidence to recover without guessing.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ownership-split&#34;&gt;Ownership split&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Repository-scoped&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Target-prefix-scoped&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;Package Object&lt;/td&gt;&#xA;      &lt;td&gt;Publication Attempt&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;Desired and Built state&lt;/td&gt;&#xA;      &lt;td&gt;Applied Checkpoint&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;Generation and Changeset&lt;/td&gt;&#xA;      &lt;td&gt;Remote inventory&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;Retained payload/metadata references&lt;/td&gt;&#xA;      &lt;td&gt;Grace and deletion evidence&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The split prevents a successful filesystem publication from being treated as proof about&#xA;R2, and prevents one target&amp;rsquo;s partial attempt from contaminating another target.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Tutorials</title>
        <link>https://sow.pgsty.com/docs/tutorial/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/docs/tutorial/</guid>
        <description>&lt;p&gt;Each tutorial starts from a new workspace. Commands are intended to be run in order;&#xA;replace uppercase placeholders and package paths for your environment.&lt;/p&gt;&#xA;&lt;p&gt;If you have not installed SOW yet, start with &lt;a href=&#34;https://sow.pgsty.com/docs/start/install/&#34;&gt;Installation&lt;/a&gt; and&#xA;&lt;a href=&#34;https://sow.pgsty.com/docs/start/quickstart/&#34;&gt;Quick Start&lt;/a&gt;. The tutorials below cover the managed repository path.&lt;/p&gt;&#xA;&lt;div class=&#34;td-content-cards td-content-cards--auto&#34; id=&#34;td-cards-b3843302-0&#34;&gt;&#xA;&#xA;&lt;article id=&#34;td-card-b3843302-cards-0-0&#34; class=&#34;td-content-card&#34;&gt;&#xA;&lt;div class=&#34;td-content-card__body&#34;&gt;&#xA;&lt;div class=&#34;td-content-card__head&#34;&gt;&lt;a class=&#34;td-content-card__title&#34; href=&#34;https://sow.pgsty.com/docs/tutorial/yum-repo/&#34;&gt;Build a YUM Repository&lt;/a&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;td-content-card__description&#34;&gt;&lt;p&gt;A managed RPM repository with per-architecture views, &lt;code&gt;noarch&lt;/code&gt; projection, debuginfo filtering,&#xA;version limits, and a working &lt;code&gt;dnf&lt;/code&gt; client configuration.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/article&gt;&#xA;&lt;article id=&#34;td-card-b3843302-cards-0-1&#34; class=&#34;td-content-card&#34;&gt;&#xA;&lt;div class=&#34;td-content-card__body&#34;&gt;&#xA;&lt;div class=&#34;td-content-card__head&#34;&gt;&lt;a class=&#34;td-content-card__title&#34; href=&#34;https://sow.pgsty.com/docs/tutorial/apt-repo/&#34;&gt;Build an APT Repository&lt;/a&gt;&lt;/div&gt;&#xA;&lt;div class=&#34;td-content-card__description&#34;&gt;&lt;p&gt;A managed DEB repository with a Debian-style pool, &lt;code&gt;by-hash&lt;/code&gt; indexes, and a deb822 client&#xA;configuration.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Serve and Publish Repositories</title>
        <link>https://sow.pgsty.com/docs/tutorial/serving/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/docs/tutorial/serving/</guid>
        <description>&lt;p&gt;SOW writes static files; it is not an HTTP server. This guide keeps the writable Workspace&#xA;separate from the path Nginx serves.&lt;/p&gt;&#xA;&lt;h2 id=&#34;public-and-private-paths&#34;&gt;Public and private paths&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Mode&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Public unit&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Never serve&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;Plain&lt;/td&gt;&#xA;      &lt;td&gt;the directory passed to &lt;code&gt;sow create&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;transient &lt;code&gt;.sow-plain-stage-*&lt;/code&gt; output; no durable journal&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;Managed&lt;/td&gt;&#xA;      &lt;td&gt;one Repository&amp;rsquo;s complete &lt;code&gt;pool/ + dists/&lt;/code&gt; tree&lt;/td&gt;&#xA;      &lt;td&gt;Workspace &lt;code&gt;sow.yml&lt;/code&gt;, &lt;code&gt;.sow/&lt;/code&gt;, SQLite, locks, journals, staging&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;For the workspace in &lt;a href=&#34;https://sow.pgsty.com/docs/start/workspace/&#34;&gt;First Workspace&lt;/a&gt;, the source Repository is&#xA;&lt;code&gt;/srv/sow/local&lt;/code&gt;. Do not make &lt;code&gt;/srv/sow&lt;/code&gt; the document root.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Build the pigsty-infra Repository</title>
        <link>https://sow.pgsty.com/docs/tutorial/infra-repo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/docs/tutorial/infra-repo/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://github.com/pgsty/infra-pkg&#34;&gt;&lt;code&gt;pgsty/infra-pkg&lt;/code&gt;&lt;/a&gt; is the upstream build source for Pigsty Infra packages.&#xA;This tutorial assumes the dual-architecture RPMs and DEBs already exist and covers the second half of the job: turning that pile of packages into a real, consumable, maintainable SOW repository named &lt;code&gt;infra&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-put-the-packages-under-repo&#34;&gt;1. Put the packages under ~/repo&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;This tutorial uses the fixed path &lt;code&gt;~/repo&lt;/code&gt; throughout. Copy the existing packages into two input directories:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-df876e1d-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-df876e1d-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/repo/packages/rpm ~/repo/packages/deb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp ~/pgsty/infra-pkg/dist/rpm/*.rpm ~/repo/packages/rpm/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp ~/pgsty/infra-pkg/dist/deb/*.deb ~/repo/packages/deb/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Confirm that all four format-by-architecture cells contain real payloads:&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow changes</title>
        <link>https://sow.pgsty.com/docs/command/changes/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/docs/command/changes/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow changes&lt;/code&gt; compares Built Generations. It reports physical Repository-relative file changes; it&#xA;does not show unbuilt Desired changes and is not a remote transaction protocol.&lt;/p&gt;&#xA;&lt;h2 id=&#34;synopsis&#34;&gt;Synopsis&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-e46c01a3-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-e46c01a3-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow changes [BASE_GENERATION] [-C|--workdir DIR] [-r|--repo NAME] [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Flag&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Meaning&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Default&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Workspace discovery start directory&lt;/td&gt;&#xA;      &lt;td&gt;current directory&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-r, --repo NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Select a Repository&lt;/td&gt;&#xA;      &lt;td&gt;&lt;a href=&#34;https://sow.pgsty.com/docs/command/#repository-selection&#34;&gt;selection rules&lt;/a&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Emit the &lt;code&gt;sow.cli/v1&lt;/code&gt; envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The command is Repository-wide and rejects &lt;code&gt;-d/--dist&lt;/code&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow publish</title>
        <link>https://sow.pgsty.com/docs/command/publish/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/docs/command/publish/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow publish&lt;/code&gt; delivers one Repository&amp;rsquo;s current Built Generation to a named target from the&#xA;&lt;code&gt;targets:&lt;/code&gt; map in &lt;code&gt;sow.yml&lt;/code&gt;. The target binds its Repository and provider; the command does not accept&#xA;&lt;code&gt;--repo&lt;/code&gt; or &lt;code&gt;--dist&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;synopsis&#34;&gt;Synopsis&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-8c0c3742-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-8c0c3742-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow publish TARGET [--abort | --rebind] [-C|--workdir DIR] [-T|--timeout DUR | -N|--no-wait] [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Flag&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Meaning&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Default&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--abort&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Abandon a reconciled attempt that has not reached durable commit intent&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--rebind&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Confirm and record permitted target name/public endpoint/cache-TTL changes&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Workspace discovery start directory&lt;/td&gt;&#xA;      &lt;td&gt;current directory&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-T, --timeout DUR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum Repository-lock wait; &lt;code&gt;0&lt;/code&gt; waits indefinitely&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-N, --no-wait&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Fail immediately when the lock is held&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Emit the &lt;code&gt;sow.cli/v1&lt;/code&gt; envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;TARGET&lt;/code&gt; must name a configured &lt;code&gt;filesystem&lt;/code&gt; or &lt;code&gt;r2&lt;/code&gt; publication target. &lt;code&gt;--abort&lt;/code&gt; and&#xA;&lt;code&gt;--rebind&lt;/code&gt; are mutually exclusive.&lt;/p&gt;</description>
      </item>
    <item>
        <title>sow gc</title>
        <link>https://sow.pgsty.com/docs/command/gc/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sow.pgsty.com/docs/command/gc/</guid>
        <description>&lt;p&gt;&lt;code&gt;sow gc&lt;/code&gt; has two deliberately separate modes. With no positional target it collects unreachable&#xA;local pool payloads. With &lt;code&gt;TARGET&lt;/code&gt; it maintains one configured publication target.&lt;/p&gt;&#xA;&lt;h2 id=&#34;synopsis&#34;&gt;Synopsis&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-e745aa54-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;text&#34; data-td-line-count=&#34;2&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-e745aa54-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow gc          [-C|--workdir DIR] [-r|--repo NAME] [-T|--timeout DUR | -N|--no-wait] [--json]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sow gc TARGET   [-C|--workdir DIR]                  [-T|--timeout DUR | -N|--no-wait] [--json]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Flag&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Meaning&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34;&gt;Default&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-C, --workdir DIR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Workspace discovery start directory&lt;/td&gt;&#xA;      &lt;td&gt;current directory&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-r, --repo NAME&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Select a Repository for local GC only&lt;/td&gt;&#xA;      &lt;td&gt;selection rules&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-T, --timeout DUR&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Maximum Repository-lock wait; &lt;code&gt;0&lt;/code&gt; waits indefinitely&lt;/td&gt;&#xA;      &lt;td&gt;&lt;code&gt;0&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;-N, --no-wait&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Fail immediately when the lock is held&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td&gt;&lt;code&gt;--json&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td&gt;Emit the &lt;code&gt;sow.cli/v1&lt;/code&gt; envelope&lt;/td&gt;&#xA;      &lt;td&gt;false&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;gc TARGET -r NAME&lt;/code&gt; is a usage error because the target already binds a Repository. &lt;code&gt;--dist&lt;/code&gt; is not&#xA;accepted in either mode.&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
