<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/test_utils/src, branch v2.4.3</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.3</id>
<link rel='self' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/atom?h=v2.4.3'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/'/>
<updated>2026-03-30T16:29:23+00:00</updated>
<entry>
<title>feat: git worktree support</title>
<updated>2026-03-30T16:29:23+00:00</updated>
<author>
<name>m0wer</name>
<email>m0wer@sgn.space</email>
</author>
<published>2026-03-29T14:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=820fd706a24be7a58554a27e411e120cfa28d9a6'/>
<id>urn:sha1:820fd706a24be7a58554a27e411e120cfa28d9a6</id>
<content type='text'>
Git worktrees don't have a .git directory with a parent, so we need to
look for the git dir via git2's Repository::discover() and then look for
the cache database there. This allows the client to work correctly when
run from a worktree, and also allows the cache database to be shared
between the main repo and its worktrees (since they share the same git
dir and thus the same cache path).
</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(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>fix: suppress deprecation warnings for assert_cmd::cargo::cargo_bin</title>
<updated>2026-02-25T12:35:39+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-25T12:35:39+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=2ca475d4b16f05532eea044a244e7042a8dff068'/>
<id>urn:sha1:2ca475d4b16f05532eea044a244e7042a8dff068</id>
<content type='text'>
cargo_bin!() macro requires CARGO_BIN_EXE_ env vars set at compile time,
which are only available in the crate that declares the binaries. Since
test_utils is a library crate it cannot use the macro, so suppress the
deprecation warning on the four functions that call cargo_bin().
</content>
</entry>
<entry>
<title>test: fix all tests that use publish</title>
<updated>2026-02-16T17:30:00+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-16T17:30:00+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=9cbf60ea64b0875f525ccd75651aeb3b7605ea02'/>
<id>urn:sha1:9cbf60ea64b0875f525ccd75651aeb3b7605ea02</id>
<content type='text'>
that expect whitespace then something
</content>
</entry>
<entry>
<title>fix: report wording `fetching` ~&gt; `checking`</title>
<updated>2026-02-16T10:57:39+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-16T10:57:39+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=1d08d2e77dec6dc2c5a8df8776b74f4ba5405e8d'/>
<id>urn:sha1:1d08d2e77dec6dc2c5a8df8776b74f4ba5405e8d</id>
<content type='text'>
to be consistent with the summary version
</content>
</entry>
<entry>
<title>feat: update ngit init for non-interactive mode</title>
<updated>2026-02-10T13:03:37+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2026-02-10T12:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=09bb21462ac5571cace5a7e71103156772a499fe'/>
<id>urn:sha1:09bb21462ac5571cace5a7e71103156772a499fe</id>
<content type='text'>
Complete rewrite of ngit init to support non-interactive mode by default.
Key changes:
- Implement hybrid validation (validate all args upfront, fail fast)
- Add --grasp-servers flag for specifying git servers
- Prefer --name over --identifier for better UX
- Add comprehensive validation with helpful error messages
- Support both clone and init-from-existing-repo workflows
- Add --force flag to bypass safety checks
- Update tests for new non-interactive behavior
- Add test utilities for non-interactive testing
</content>
</entry>
<entry>
<title>chore: bump rust-nostr v0.44</title>
<updated>2025-11-14T21:31:13+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-11-14T07:37:57+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=d282251af19fc7d5d4200a9441999bd1a81b2ae8'/>
<id>urn:sha1:d282251af19fc7d5d4200a9441999bd1a81b2ae8</id>
<content type='text'>
fix breaking changes
</content>
</entry>
<entry>
<title>chore: nix flake update</title>
<updated>2025-10-17T16:18:47+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-10-17T14:22:05+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=4a9dcc66ac7be69031a19f6ece0be4642e1f3057'/>
<id>urn:sha1:4a9dcc66ac7be69031a19f6ece0be4642e1f3057</id>
<content type='text'>
update nix dependancies including hardcoded nightly.rustfmt

applied autofixes
</content>
</entry>
<entry>
<title>feat(remote): list proposals as `refs/pr-by-id/*`</title>
<updated>2025-08-15T14:53:59+00:00</updated>
<author>
<name>DanConwayDev</name>
<email>DanConwayDev@protonmail.com</email>
</author>
<published>2025-08-15T14:17:39+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub1tkq8unhsd5jqx6ueex5lcpsgknrpquxuk44ftpjlpm3ulaake7xs76txrw/ngit-cli-mirror/commit/?id=28a37393ee62e3b53dad69d58810f72151bd58c2'/>
<id>urn:sha1:28a37393ee62e3b53dad69d58810f72151bd58c2</id>
<content type='text'>
This branch name cannot be attacked by brute forcing a
shorthand event id like refs/pr/&lt;branch-name(&lt;shorthand-event-id)
can.
</content>
</entry>
</feed>
