<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/tests/git_remote_nostr, branch v2.4.0</title>
<subtitle>Personal mirror of DanConwayDev/ngit-cli on git.upleb.uk
</subtitle>
<id>https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.4.0</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.4.0'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2026-02-26T16:35:59+00:00</updated>
<entry>
<title>fix: correct merge-base in PR events from git push of pr/ branch</title>
<updated>2026-02-26T16:35:59+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T16:35:59+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=01aeb2a3265bcafa162987c85dd281981770bba7'/>
<id>urn:sha1:01aeb2a3265bcafa162987c85dd281981770bba7</id>
<content type='text'>
When pushing a pr/ branch, the ahead slice is reversed by callers before
being passed to generate_patches_or_pr_event_or_pr_updates, making it
oldest-first. The tip/first_commit assignments were backwards (using
first()/last() as if the slice were youngest-first), so the merge-base
was computed as the parent of the PR tip rather than the parent of the
oldest commit. Multi-commit PRs therefore showed only 1 commit when
applied via ngit apply.

Adds an integration test that pushes a two-commit large-file PR branch
and asserts the merge-base tag equals the main branch tip.
</content>
</entry>
<entry>
<title>fix: advertise only state events with resolvable git objects</title>
<updated>2026-02-26T15:26:20+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-26T14:00:12+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=d8b85cbce5cba9bfb8b15a8bd5c1b7200ff3e488'/>
<id>urn:sha1:d8b85cbce5cba9bfb8b15a8bd5c1b7200ff3e488</id>
<content type='text'>
git-remote-nostr now walks the per-relay state events captured in
FetchReport::state_per_relay (newest first) and advertises the first
one whose every OID is either present on at least one git server
(confirmed via list_refs) or already available locally.  If no such
state event exists it falls back to the raw git server state.

Previously the latest nostr state event was always used regardless of
whether its OIDs had been pushed to any server, causing catastrophic
missing-object errors during clone or fetch when a state event was
published ahead of the corresponding git push.
</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/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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>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/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/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>feat(list): make list async and include sync report inline</title>
<updated>2025-11-13T22:08:56+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-13T17:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=82c7a95f6e9aa266d2f0d2035a0ce4f1715b62ad'/>
<id>urn:sha1:82c7a95f6e9aa266d2f0d2035a0ce4f1715b62ad</id>
<content type='text'>
copy relay fetching approach to async and reporting
</content>
</entry>
<entry>
<title>fix: out of sync grasp server cli output</title>
<updated>2025-11-13T14:49:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-11T08:31:46+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=65f3bd360c065aca493eddf7eb5d3d8191a84b56'/>
<id>urn:sha1:65f3bd360c065aca493eddf7eb5d3d8191a84b56</id>
<content type='text'>
so it shows a summary rather than a lot of lines of issues
</content>
</entry>
<entry>
<title>fix: cli output line deletion during fetch</title>
<updated>2025-11-13T14:40:09+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-11T07:21:08+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=52370f542dad87ab029a5d701cc46658d5aef91b'/>
<id>urn:sha1:52370f542dad87ab029a5d701cc46658d5aef91b</id>
<content type='text'>
also reduce the clutter in the cli output for grasp servers.
</content>
</entry>
<entry>
<title>test: refactor to use rstest more efficient test runs</title>
<updated>2025-10-28T13:19:24+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-10-28T13:19:24+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=a287f53132c91eaa3ba8d5e9c2bec80587316aad'/>
<id>urn:sha1:a287f53132c91eaa3ba8d5e9c2bec80587316aad</id>
<content type='text'>
Identified high value areas to use rstest that would benefit most and
refactored them
</content>
</entry>
<entry>
<title>fix(remote): `refs/pr-by-id/*` ~&gt; `refs/pr/*/head`</title>
<updated>2025-09-03T15:57:14+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-09-03T15:57:14+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=4bd46c3cf7bacb062d45d3c99d3edfadc95cb139'/>
<id>urn:sha1:4bd46c3cf7bacb062d45d3c99d3edfadc95cb139</id>
<content type='text'>
to align more closely with githubs `refs/pull/*/head`

we can pretend that pr means both Patch Request and Pull Request
</content>
</entry>
</feed>
