<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/src/bin/git_remote_nostr, branch v2.2.1</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.2.1</id>
<link rel='self' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/atom?h=v2.2.1'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/'/>
<updated>2026-02-20T21:21:48+00:00</updated>
<entry>
<title>extract grasp/maintainership helpers to lib and auto-accept on push</title>
<updated>2026-02-20T21:21:48+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T20:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=64747526c9f6ab43f9dac461d056bb42992573b4'/>
<id>urn:sha1:64747526c9f6ab43f9dac461d056bb42992573b4</id>
<content type='text'>
move apply_grasp_infrastructure, latest_event_repo_ref to lib/repo_ref.rs
and wait_for_grasp_servers + grasp_servers_from_user_or_fallback to a
new lib/accept_maintainership.rs so both binaries can share them.

add accept_maintainership_with_defaults which publishes the co-maintainer's
own Kind:30617 announcement with defaults (user grasp servers, shared
metadata from existing events) then waits for grasp server provisioning
and updates nostr.repo config and origin remote.

replace the push error block with a call to accept_maintainership_with_defaults
so pushing now silently accepts co-maintainership instead of failing.
</content>
</entry>
<entry>
<title>improve push error when co-maintainer has no announcement</title>
<updated>2026-02-20T12:06:38+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-20T12:06:38+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=7d981ce57797dc772c3b3ced7ba6b61a3acdbed5'/>
<id>urn:sha1:7d981ce57797dc772c3b3ced7ba6b61a3acdbed5</id>
<content type='text'>
the previous message said 'run ngit init' with no explanation of why or
what it does. the new message explains the user has been offered
co-maintainership, names the repo, and points to 'ngit init -d' for a
fast non-interactive acceptance path.
</content>
</entry>
<entry>
<title>fix: remove outdated patch_supports gate and fix fetch parent fallback</title>
<updated>2026-02-18T22:00:35+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-18T22:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=56b3c149df70af5d441e8527ec1225e5038bde8e'/>
<id>urn:sha1:56b3c149df70af5d441e8527ec1225e5038bde8e</id>
<content type='text'>
Remove the patch_supports_commit_ids gates in checkout.rs and list.rs
that pre-dated the mbox fallback logic. apply_patch_chain already
handles all fallback cases. Also replace the main-branch TODO fallback
in make_commits_for_proposal with get_parent_commit_from_patch, which
uses timestamp-based best-guess when the parent-commit tag is absent.
</content>
</entry>
<entry>
<title>fix: handle git c-style quoting of push-option values with backslashes</title>
<updated>2026-02-17T15:09:05+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-17T15:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=a87debb605ae740c9d8698836b04345f1d94d769'/>
<id>urn:sha1:a87debb605ae740c9d8698836b04345f1d94d769</id>
<content type='text'>
Git wraps push-option values in double quotes and doubles backslashes
when the value contains special characters. This broke \\n escape
decoding because the key arrived as '"description' instead of
'description'. Added strip_git_quoting() to reverse git's quoting
before parsing the key=value pair.
</content>
</entry>
<entry>
<title>fix: apply push-options to patch series generation</title>
<updated>2026-02-17T15:09:03+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-17T12:44:13+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=4cbba068d1ddbd14ba41d75def3ae266989aced8'/>
<id>urn:sha1:4cbba068d1ddbd14ba41d75def3ae266989aced8</id>
<content type='text'>
The title and description push-options were previously only applied to PR
creation but not to patch series generation. When force-pushing to update
an existing patch series, the custom title and description were ignored.

This change passes the title_description parameter to the patch generation
function, allowing users to customize patch series cover letters via:
  git push --force --push-option=title="Title" \
    --push-option=description="Description" origin branch

Includes integration test for force-pushing patches with custom cover letter.
</content>
</entry>
<entry>
<title>feat: support multiline descriptions in push-options via \n escape</title>
<updated>2026-02-17T14:04:32+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-17T12:11:33+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=5cc8ae28cb462d2cb0b7f74dfa5238e62d17eb70'/>
<id>urn:sha1:5cc8ae28cb462d2cb0b7f74dfa5238e62d17eb70</id>
<content type='text'>
Git push-options are line-based so literal newlines cannot be sent.
Users can now write the two-character sequence \n which is decoded
into real newlines before publishing. Use \\n for a literal backslash-n.

Includes unit tests, integration test, help text, and changelog entry.
</content>
</entry>
<entry>
<title>fix: require both title and description push-options or neither</title>
<updated>2026-02-17T11:38:28+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-17T11:34:28+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=06ebbf7c73b64225ae083bb3134f7c7c630c5565'/>
<id>urn:sha1:06ebbf7c73b64225ae083bb3134f7c7c630c5565</id>
<content type='text'>
Previously, providing only one of title or description would silently
ignore both. Now returns a clear error message.
</content>
</entry>
<entry>
<title>feat: add push-options for title and description to git-remote-nostr</title>
<updated>2026-02-17T11:38:26+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-17T10:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=fe5addc2a61022824e83c3523a83fce7690ca8e8'/>
<id>urn:sha1:fe5addc2a61022824e83c3523a83fce7690ca8e8</id>
<content type='text'>
Allows setting PR title and description via git push options:
  git push --push-option=title="My PR" \
    --push-option=description="Details" origin pr/branch
</content>
</entry>
<entry>
<title>fix: report wording consistancy in publishing</title>
<updated>2026-02-16T12:53:13+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-16T12:53:13+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=a2d4df6e759070fe88a311d9a03836cb3a405012'/>
<id>urn:sha1:a2d4df6e759070fe88a311d9a03836cb3a405012</id>
<content type='text'>
always report publishing and finish with published
</content>
</entry>
<entry>
<title>fix: fetch report ouput</title>
<updated>2026-02-16T10:45:11+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-16T10:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1sh4dwqc9ypguemh6m8tmxxl8xuzfsz0j8av8vq7t3xd3mldsg9ls4ew80h/ngit-cli-mirror/commit/?id=54b791a31b43ef7dd5bb1ebdff7c7dffea03af52'/>
<id>urn:sha1:54b791a31b43ef7dd5bb1ebdff7c7dffea03af52</id>
<content type='text'>
so that report gets removed when not in verbose mode
and fix removal so summary displayed instead 1st line of original report.
</content>
</entry>
</feed>
