<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror, branch v2.3.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.3.0</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.3.0'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2026-03-05T22:12:45+00:00</updated>
<entry>
<title>chore: bump version to v2.3.0</title>
<updated>2026-03-05T22:12:45+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T22:12:45+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=45b0f8c6b1dab2d51338d88b2a7caf4b1b571f4d'/>
<id>urn:sha1:45b0f8c6b1dab2d51338d88b2a7caf4b1b571f4d</id>
<content type='text'>
Add issue management, PR/issue comments and viewing, NIP-32 labels,
set-subject, cover notes, repo-only relays, and SKILL.md.
</content>
</entry>
<entry>
<title>fix(test_utils): suppress deprecated cargo_bin warning</title>
<updated>2026-03-05T22:12:07+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T21:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=ad3212941435aaf0d487615c21e8390d5cb97891'/>
<id>urn:sha1:ad3212941435aaf0d487615c21e8390d5cb97891</id>
<content type='text'>
use_ngit_pr_checkout uses assert_cmd::cargo::cargo_bin which is
deprecated in assert_cmd 2.1.0. Add #[allow(deprecated)] consistent
with the existing suppression on rexpect_with and other callers.
</content>
</entry>
<entry>
<title>fix(tests): update send tests to use --subject instead of --title</title>
<updated>2026-03-05T22:12:07+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T21:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=b1dc1fc39dcb01a850df7e31bb9438a195cf101e'/>
<id>urn:sha1:b1dc1fc39dcb01a850df7e31bb9438a195cf101e</id>
<content type='text'>
The send subcommand was updated to use --subject (with --title as an
alias) but the non_interactive_validation tests still checked for
--title in error messages and used --title as the CLI argument.
</content>
</entry>
<entry>
<title>fix(pr-checkout): require --force on diverged proposal branch</title>
<updated>2026-03-05T22:12:07+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T21:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=f6d1e03dc99b3ea48cb6e4bd1d3371dd924a567a'/>
<id>urn:sha1:f6d1e03dc99b3ea48cb6e4bd1d3371dd924a567a</id>
<content type='text'>
checkout_patch() previously re-applied the patch chain whenever the local
branch tip didn't match the published tip, silently overwriting local
amendments and rebased revisions without warning.

Now detects the relationship between local and published tips:
- up to date: check out as-is
- behind (local is ancestor of published): fast-forward, no flag needed
- local commits on top (published is ancestor of local): check out as-is
- diverged (neither ancestor): bail with guidance, --force to overwrite
- published tip not found locally and branch exists: same as diverged

Also adds --force flag to `ngit pr checkout` to explicitly opt in to
overwriting a diverged branch, covering both local amendments and
author force-pushes.

Bug discovered during test implementation in tests/ngit_pr_checkout.rs.
</content>
</entry>
<entry>
<title>test(pr-checkout): replace broken ngit_list tests with ngit_pr_checkout</title>
<updated>2026-03-05T21:31:17+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T19:57:28+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=83b0886b97e2e90e328f91fcfaeb59726c93308f'/>
<id>urn:sha1:83b0886b97e2e90e328f91fcfaeb59726c93308f</id>
<content type='text'>
tests/ngit_list.rs had 27 tests all failing because the interactive mode
they tested has been replaced by a non-interactive implementation. Replace
the file with a stub documenting the coverage gaps and add
tests/ngit_pr_checkout.rs covering the same proposal branch checkout logic
via `ngit pr checkout &lt;id&gt;`, starting with the fresh-checkout case.
</content>
</entry>
<entry>
<title>refactor(set-subject): remove alt tag from subject label event</title>
<updated>2026-03-05T19:11:43+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T19:11:43+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=84a197700cac6b2ef72cf0723474ac3185c5d1de'/>
<id>urn:sha1:84a197700cac6b2ef72cf0723474ac3185c5d1de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(issue): add --comments flag to issue list command</title>
<updated>2026-03-05T19:04:42+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T19:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=f78c2f58e1da73591c782086f76a8584c0406ca5'/>
<id>urn:sha1:f78c2f58e1da73591c782086f76a8584c0406ca5</id>
<content type='text'>
--comments was supported by 'issue view' but not 'issue list', making
'ngit issue list &lt;id&gt; --comments' fail while the equivalent 'view'
command worked fine.
</content>
</entry>
<entry>
<title>fix(comment): pass git_repo to login so local config takes precedence</title>
<updated>2026-03-05T15:36:21+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T15:36:21+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=bdcfc7ae0b0558843b160acc4d2c8db9996cdc60'/>
<id>urn:sha1:bdcfc7ae0b0558843b160acc4d2c8db9996cdc60</id>
<content type='text'>
publish_comment was calling login_or_signup with &amp;None for git_repo,
causing the GitLocal source to be skipped entirely. This meant the
global git config (including any bunker-uri) was used instead of the
local nsec, ignoring the local login. Pass the discovered Repo through
CommentArgs so local config correctly takes precedence over global.
</content>
</entry>
<entry>
<title>docs(skill): improve nostr repo detection guidance</title>
<updated>2026-03-05T15:18:43+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T15:18:43+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=09c299ebb1e04bc9d17817371f3e3061fb450443'/>
<id>urn:sha1:09c299ebb1e04bc9d17817371f3e3061fb450443</id>
<content type='text'>
Use git remote -v as primary check; clarify that ngit repo always
exits 0 and is_nostr_repo:false can be a cold-cache false negative.
</content>
</entry>
<entry>
<title>fix(whoami): detect and fall back to system git config for nostr login</title>
<updated>2026-03-05T15:06:02+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-03-05T15:03:37+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=09c3ae91830bd9c7543b401b19f8c65a15205d32'/>
<id>urn:sha1:09c3ae91830bd9c7543b401b19f8c65a15205d32</id>
<content type='text'>
Add GitSystem to SignerInfoSource so credentials stored in the system
git config (/etc/gitconfig) are included in the priority fallback chain
(local &gt; global &gt; system) and shown as a separate level in whoami output.
</content>
</entry>
</feed>
