upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-06-18chore: bump v1.7.2v1.7.2DanConwayDev
changelog: - fix clone when HEAD isn't in nostr state even
2025-06-18fix: add HEAD if one isn't listed in stateDanConwayDev
to fix nostr: note17kwthy92v8tkpgw2kfkhv5x5j9tdves0mznu80qcflly7vunteaqxwag94
2025-06-17chore: bump v1.7.1v1.7.1DanConwayDev
changelog: - fix add support for `git://` clone urls
2025-06-17fix: support `git://` in clone urlsDanConwayDev
based on jb55 trying to use this with damus nostr:event1qvzqqqqqqypzqvhpsfmr23gwhv795lgjc8uw0v44z3pe4sg2vlh08k0an3wx3cj9qy88wumn8ghj7mn0wvhxcmmv9uq3jamnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kz7qpqec3c59c4yu4yrsa9fedu27rnygnemj2cfmumf6fw7385wfthg57slj72ux
2025-06-03build: fix release binariesv1.7.0DanConwayDev
work was done to produce more reslient binaries builds to work across different distros and version b98d2819288f86dd5b316c726cda0f84a1f63eb5 this commit fixes the job runner so they actual get built
2025-06-02chore: bump v1.7.0DanConwayDev
changelog: - add quality-of-life features for ngit-relay users - detect ngit-relays and only attempt using unauthenticeted http protocols - better sync and less errors as nostr is the only way to push - overhaul `ngit init` - add simple / advanced mode - add support for ngit-relays - specifiy blossom servers - sensible defaults - misc - add resiliency - push to all maintainer's relays and git servers - require additional maintainers to publish announcements before pushing - allow users to specific fallback relays see `ngit --customize` - add show npub - fixes: - use newest state event found, rather than oldest - more resilient builds for platforms and distros - ignore dereferenced tags in state
2025-06-02fix: ignore dereferenced tags in stateDanConwayDev
as they are just noise
2025-06-02tests: fix tests by adding maintainer ann eventDanConwayDev
to comply with changes in 5f45edbebe310decb06f955d95665a6ad387c6cb
2025-05-31feat(init): only use one ngit-relay git server urlDanConwayDev
that of the current users pubkey. ngit will push to the git servers of other maintainers anyway.
2025-05-31feat(push): prevent push if no ann eventDanConwayDev
To ensure additional maintainers publish an annoucement event, require it for them to push
2025-05-28docs: update relays in maintainers.ymlDanConwayDev
as we have just pushed to 3 ngit relays
2025-05-28fix: use most recent, rather than oldest state event foundDanConwayDev
this was identified when testing with multiple maintainers
2025-05-27build: make less, more resilient buildsDanConwayDev
and cross compile where possible
2025-05-24feat(init): make default ngit-relays configurableDanConwayDev
make the default set of ngit-relays configurable
2025-05-23feat(init): use dir name as default repo nameDanConwayDev
if you haven't cloned an existing nostr repo
2025-05-23feat(push): avoid out of sync issues for ngit relayDanConwayDev
we need to be careful with git servers with their own permissions so a ngit user doesn't inadvertantly push changes on top of a another user who pushed directly to the git server without using the force flag. We dont have this problem with ngit-relay so we can always force push, even if the user didnt as nostr is the authority of state.
2025-05-23feat(account): export npubDanConwayDev
allow exporting npub as well as nsec
2025-05-23fix(init): dont default to user read relay listDanConwayDev
as it usually full of inappropriate relays like purplepages.
2025-05-23fix(init): additional relays dont replace ngit-relaysDanConwayDev
instead of replacing ngit-relays with additoinal relays , suppliment
2025-05-23fix(init): improve cli outputDanConwayDev
for git push, a wait longer to allow ngit-relays to create repo
2025-05-23fix: ignore duplicate relays, blossom or git serversDanConwayDev
so we dont try and fetch from both
2025-05-23feat: only try http(s) for ngit-relaysDanConwayDev
otherwise it tries all the protocols and reprots on each
2025-05-23fix: use blossoms from all maintainersDanConwayDev
applying this change to blossom: 25e58e52624210f5852a9183495821526add5928
2025-05-23fix(init): ngit-relay usage detectionDanConwayDev
make sure blossom server is also present
2025-05-23fix: remove blossom url trailing slashDanConwayDev
when creating announcment with `ngit init`
2025-05-22refactor: cargo fmtDanConwayDev
should have done it at 4dc5d0c9fb170981cf4fade5558d7cc8da404aa3
2025-05-22feat(init): add blossomDanConwayDev
add a blossom tag to the repo announcement
2025-05-22feat(init): overhaul & simplify with ngit-relaysDanConwayDev
introduce ngit-relays as a way of setting git servers and relays at the same time using a standard for specific repo locations: https://<domain-port-path>/<npub>/<identifer>.git add simple and advanced modes. prompt less. eg always set remote origin to nostr url. automatically push main or master branch.
2025-05-21fix: remove accidental printlnDanConwayDev
the details are included as default options
2025-05-21feat(init): dont ask about state unless neededDanConwayDev
reduce the scenarios where we confuse users about state
2025-05-21fix: preserve relay and git server orderDanConwayDev
rewrite of 25e58e52624210f5852a9183495821526add5928 which took relays & git servers from all maintainer some test failed due to incorrect ordering. its better to start with the ones the trusted maintainer selected.
2025-05-21feat: add --customize flag for instructionsDanConwayDev
of how to customise ngit via git config items
2025-05-21feat: add support for default relay overridesDanConwayDev
via git config so they can be overwritten locally and globally
2025-05-21refactor: move client defaults into paramsDanConwayDev
in prep for optionally getting some of this config from git config overrides
2025-05-21fix: use relays & git servers from all maintainerDanConwayDev
but other details from trusted maintainer. This maximises the likelihood that all git servers and relays have the correct state.
2025-05-12chore bump to v1.6.3v1.6.3DanConwayDev
changelog: fix: fallback to http protocol if ssh is unavailable
2025-05-09fix: always try git servers over other protocolsDanConwayDev
remove the code that guessed whether it was an authentication failure and gave up is it wasn't. this prevents it from trying http for push when ssh is not supported eg. ngit-relay
2025-05-06build: remove ubuntu 20.04 versionDanConwayDev
as the github runner for this version has been removed
2025-05-06fix: github release matrixv1.6.2DanConwayDev
applied fix included in v1.6.1
2025-05-06chore bump to v1.6.2DanConwayDev
changelog: - add event description for remote signing process - fix custom ports use for git servers - bump all dependancies to latest major versions
2025-05-06docs: fix readme repo linkDanConwayDev
to point to new url structure
2025-05-06chore: bump dialoguer v0.11.0DanConwayDev
and fix breaking changes
2025-05-06chore: bump directories v6DanConwayDev
this update appears to just update child dependancies rather than provide breaking changes
2025-05-06chore: remove unused duplicate dependancyDanConwayDev
dependancy isn't being used
2025-05-06chore: bump mock_all v0.13.1DanConwayDev
none of the breaking changes impact this code base
2025-05-06chore: bump serial_test v3.2.0DanConwayDev
none of the breaking changes impact this code base
2025-05-06chore: remove unused keyring dependancyDanConwayDev
the function was intergrated into rust-nostr
2025-05-06chore: bump rust-nostr v0.40 ~> v0.41DanConwayDev
no breaking changes this time
2025-05-06chore: update git2 ~> v0.20.2DanConwayDev
we have had some bugs related to git2 so moving to the latest version
2025-05-06chore: cargo updateDanConwayDev
update to the latest patch version with `cargo update`
2025-05-06fix(clone_url): fix custom portsDanConwayDev
only use custom port on specified protocol (ie. http, https or ssh) ignore custom port on when trying other protocols specify `ssh://` prefix when using custom port as otherwise it can be ignored
2025-05-05chore: nix flake updateDanConwayDev
update nix dependancies to latest version using default update options run `cargo clippy --fix` and `cargo fmt` to fix new clippy errors
2025-04-28fix(init): replace legacy gitworkshop urlDanConwayDev
with new format. but both default option and when previous web string used legacy format
2025-04-03feat(send): add description to event signing processDanConwayDev
resolving nostr:note1qu8le4a8qz9hhxy6q85txejcq0kln0r3s9vdtwrhtqwvauc6nxuqn3fj0z so it doesnt appear frozen when there are lots of events being signed by a remote signer
2025-04-02build: add all available github action osesDanConwayDev
as listed in: https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job
2025-04-02docs: add nix install instructionsDanConwayDev
to readme as an additional install option
2025-04-02fix: publish error prefix regressionDanConwayDev
introduced by rust-nostr v0.40 from v0.37
2025-04-02test: fix test func get_proposal_branch_nameDanConwayDev
it was not correctly checking for "revision-root" tag rust-nostr v0.40 changed the sorting order so that the revision-root may be returned first causing intermitant test failures
2025-04-02test: patches shouldn't `p` tag authorDanConwayDev
rust-nostr upgrade to v0.40 removed this `p` tag
2025-04-01fix: allow soft push if not behind serverDanConwayDev
when nostr and the gitserver are out of sync an error was thrown when the git server was behind during soft push. It should only throw the error if its ahead of the tip to be pushed.
2025-04-01chore: bump rust-nostr v0.37 ~> v0.40DanConwayDev
and fix all of the breaking changes
2025-03-28chore: cargo updateDanConwayDev
update to latest patch version in depenancies
2025-02-20refactor: run nixfmtDanConwayDev
format the nix code with nixfmt
2025-02-11build: disable tests during nix buildDanConwayDev
as some tests hang during `nix run github:danconwaydev/ngit-cli`
2024-12-20chore bump to v1.6.0v1.6.0DanConwayDev
changelog: - overhaul and simplify login experience - add `account` api with `login`, `logout` and `export-keys` cmds - add sign up feature targeted at users new to nostr - support nip05 addresses in nostr git urls eg. `nostr://dan@gitworkshop.dev/ngit` - rework `ngit init` to make on-boarding more intuitive with simplier questions and more guidance and prompting to setup nostr remote - don't create `maintainers.yaml` for new repos but continue to support it for projects that already use it - remove ngit `pull`, `push` and `fetch` api to nudge users to use native git cmds with git plugin - expend merge types that automatically update PR status when pushed - various fixes: eg `ngit accountlogin` from outside of a git repository, add QR code border, and make `ngit list` prompts more intuitive - bump dependancies eg rust-nostr to v0.37
2024-12-20docs: add nip05 git nostr url to readmeDanConwayDev
in the instruction and in the link to contribute
2024-12-20feat(remote): include draft PRsDanConwayDev
show draft as well as open PRs as remote branches
2024-12-20fix(push): find existing proposalDanConwayDev
improve reliability of getting current logged in user to assess if they have submitted a proposal with the same name / branch name
2024-12-20refactor: branch_name handlingDanConwayDev
improve clarity by renaming variables and methods defend against `branch-name` tag with an unsafe name
2024-12-20refactor: use nostr url from repo_refDanConwayDev
simplify to allow the removal of warning: `#[allow(clippy::too_many_arguments)]`
2024-12-16feat(init): default to nip05 git nostr urlLaszlo Megyer
If the user has NIP-05 set up in profile, and it resolves at the time of running `ngit init`, NIP-05 will be used in the nostr remote url.
2024-12-16chore: bump nix flake rust nightly `fmt` overlayDanConwayDev
update the rust nightly `fmt` overlay which needs to be pinned to a specific version (this case by date) update formatting in main files via `cargo fmt`
2024-12-16chore: nix flake updateDanConwayDev
update nix dependancies to latest version using default update options fix warning related to idomatic patterns
2024-12-16chore: cargo updateDanConwayDev
update dependancies to latest version stated in cargo.toml
2024-12-16fix(NostrUrlDecoded): nip05 response errorDanConwayDev
improve the error message when fetching nip05 profile fails
2024-12-13fix(push): refactor errorsDanConwayDev
comparing different versions of the nostr url string
2024-12-13refactor(push): split `run_push` functionDanConwayDev
as it was way too long
2024-12-13test(push): merge event for applied commitsDanConwayDev
publish a merge event when the commit author signature and timestamp match patches within an open proposal
2024-12-13test: deterministic commit timestamps in test PRsDanConwayDev
now that the remote helper uses the commit author timestamp to determine if commit was applied from a proposal, the timestamps in the test proposal can no longer be identical. this makes them deterministically different based on the file name
2024-12-12feat(push): merge event for applied commitsDanConwayDev
publish a merge event when the commit author signature and timestamp match patches within an open proposal
2024-12-12test(push): ff merge commit tag `merge-commit-id`DanConwayDev
allow any order of the commit ids
2024-12-12fix(push): three-way `merge-commit-id` `tag`DanConwayDev
should alway list only the three-way merge commit id.
2024-12-12fix: defend against empty`tags`DanConwayDev
prevent a panic when tags are of an unexpect length
2024-12-12feat(NostrUrlDecode): add nip05 address supportDanConwayDev
enable nostr git url format alongside and format Merge branch 'pr/nip05-lez(ff1845c0)'
2024-12-11fix(NostrUrlDecoded): nip05 parsed as ssh userDanConwayDev
property `user`, which refers to the ssh user to be used when connecting to git remotes, was being parsed as the local section of the nip05 address
2024-12-11fix(NostrUrlDecoded): add nip05 loading to TUIDanConwayDev
so the user understands the cause of any delay if the domain takes a while to respond
2024-12-10fix(nostr_url): use nip05 in nostr url if cachedDanConwayDev
prioritise using nip05 nostr url format when the nip05, public key mapping is stored in the (usually local) git config.
2024-12-10feat(nostr_url): improve nip05 git cache formatDanConwayDev
store all nip05s in a single git config item called "nostr.nip05" using the `<nip05>:<hex-public-key>` format with multiple values comma seperated. git config is suposed to be human readable so it consideration was given to storing the npub instead of hex but nip05 generally uses hex and its rarely, if at all, going to be read directly by humans. in the future it might be better to use git syntax for storing multiple items but library git2 doesn't support this. it would be trivial to do though. multiple nip05 items is an edge case so this format is ok for now.
2024-12-10test(NostrUrlDecoded): use `parse_and_resolve`Laszlo Megyer
update tests to use the async `parse_and_resolve` instead of removed `from_str` method
2024-12-10feat(NostrUrlDecoded) add nip05 supportDanConwayDev
replace `NostrUrlDecoded::from_str` with `NostrUrlDecoded::parse_and_resolve` store nip05 pubkey mapping in git cache
2024-12-09fix: fetch user relays for `send`,`push` & `init`DanConwayDev
get the latest user relay list before pushing patches and repo announcement events
2024-12-06feat(push): send fast-forward merge status eventDanConwayDev
when a proposal was merged using fast-forward status rather than by creating a three way merge commit. if there are multiple revisions, the first one that contains merged proposal tip will be referenced. if there are multiple proposals that contain one of the commits, they will all be marked as merged. the nip needs to be updated as there is no single `merge-commit-id` so that tag needs to support multiple values
2024-12-05test(ngit): no nostr remote, search for repoDanConwayDev
update the tests to reflect the changes in the previous 4 commits
2024-12-05fix(ngit): save new nostr url as git remoteDanConwayDev
when nostr address is unknown and user is prompted to enter it, ask the user to save it as a git remote.
2024-12-05fix: `ngit`validate repo address existsDanConwayDev
when nostr address is unknown and user is prompted, validate that a the entered repo exists (there are events related to it) before proceeding
2024-12-04fix: `ngit` load correct repo addressDanConwayDev
git-remote-nostr is always called with a nostr remote that specifies a single repository coordinate whereas `ngit` commands need to discover this. this change moves from getting this value from the following places in priority order: 1. git config item `nostr.repo` 2. first nostr remote discovered 2. maintainers.yaml 3. prompt the user to: 1. nostr remote - if multiple, prompt the user to select 2. git config item `nostr.repo` 3. maintainers.yaml - removing the legacy format 4. prompt the user - now with support for nostr remote format
2024-12-03refactor: limit fetch to 1 trusted coordinateDanConwayDev
previously fetch supported fetching multiple trusted coordinates at once. The additional complexity trade off isn't worth it. It will still fetch events related to the coordinates of maintainers that the trusted maintainer lists. A scenario where there might be multiple trusted coordinates is where a large repo is split into multiple nostr repos to manage pull requests and issues in seperate sub-units. I might therefore have different remotes that target different identifiers. There also might be different set of maintainers groups that are have different views on the latest state of the same codebase and they haven't split off into using different identifiers. Its simplier ngit to fetch these different nostr repos independantly when requested. git-remote-nostr will do this automatically as it works through remotes but for ngit cmds a further change is required so `get_repo_coordinates` and `try_and_get_repo_coordinates` prompts to select the desired one.
2024-12-02feat: limit `pr` branch names to 60 charsDanConwayDev
there needs to a limit so the total length of the ref name is < 252 keeping it shorter makes it easier for other contributors to work with
2024-12-02fix: repo_ref 'not found' err suggest `ngit init'DanConwayDev
if the nostr remote was created by the maintainer before `ngit init` was ran. the error is more likely to occur when a user clones a repo using the nostr remote whist the relay in the hint is down and the fallback relays dont have the announcement. or if the user is offline when they clone.
2024-12-02fix(repo_ref): clarify no repo event err msgDanConwayDev
as there might be a repo event but we couldn't find it