upleb.uk

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

summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-20chore bump to v1.5.1v1.5.1DanConwayDev
changelog: * git plugin reports on event broadcasting
2024-09-20feat(remote): add send events status reportingDanConwayDev
to both tell users where events have been sent / failed to be sent and to provide a status update so the user doesn't think its crashed
2024-09-19test: fix test name typo@RandyMcMillan
warngins ~> warnings
2024-09-18chore bump to v1.5.0v1.5.0DanConwayDev
changelog: - add new nostr url format that works better for MacOS users `nostr://<*protocol>/<npub123>/<*relay-hint>/<identiifer>` \*optional - status updates during clone, push and fetch - intelligent protocol selection and fallback - unless unusual protocol specified in clone url it will try in this order: - fetch: https unatuth, ssh, https - push: ssh, https auth - save successful protocol in git config so it is tried first next time - enable override from nostr url (will only use this protocol) - enable building binaries via nix - refactor into lib and bin structure - bump dependnancies
2024-09-18chore: bump rustfmt from nightlyDanConwayDev
from april version to current
2024-09-18test: fix gitlib2 version in sampleDanConwayDev
so they match v1.8.2 used in updated git2
2024-09-18chore: nix flake updateDanConwayDev
update nix dependancies to latest version using default update options
2024-09-18chore: bump git2 v0.19.0DanConwayDev
in the hope that it addresses the 'early EOF' error that sometimes appears when cloning a repo.
2024-09-18chore: cargo updateDanConwayDev
update dependancies to latest version stated in cargo.toml
2024-09-18fix(remote): create pr commit error reportingDanConwayDev
so it clear which patch is causing issues and it continues to report the fetch problem to the git client. we need a better solution it degrades gracefully rather than stopping the operation. perhaps list needs to only list PRs which it can create from existing data objects? perhaps list also needs fetch objects before fetch is called?
2024-09-18test(renote): fix whitespace in push` testsDanConwayDev
fixing what should have been picked up in: 7718a56ab05038e743401ea01628d85edc50ed34
2024-09-18fix(remote): reporter lines on narrow terminalsDanConwayDev
remove the correct number of lines when reporter prints to narrow terminals
2024-09-18test(renote): fix whitespace in push` testsDanConwayDev
reverting change in 73480c03e194808bec7cbbf8c2d7064743d03369
2024-09-18feat(remote): push report copyDanConwayDev
improved for push to each git server. report now reflects new branch / tag, delete branch / tag and force flag.
2024-09-18test: fix `generate_repo_with_state_event`DanConwayDev
which enables some failing `fetch` tests to pass
2024-09-17fix(remote): push don't report on writing 0 objDanConwayDev
in the TUI as its not useful
2024-09-17fix(remote): push reporting copyDanConwayDev
ensure commit id from and two are the correct way around
2024-09-17fix(remote): `push` exit protocol loop on successDanConwayDev
so that other protocols are not tried after push was successful
2024-09-17feat(remote): store successful protocol in configDanConwayDev
if another protocol was tried first and failed
2024-09-17refactor(remote): `push` report to match `fetch`DanConwayDev
use the same approach taken with reporting remote status in `push` as is used in `fetch`
2024-09-17test(remote): fix test to ignore status updatesDanConwayDev
as changes to status updates has causes many tests to fail
2024-09-17test(remote): fix generate_repo_with_state_eventDanConwayDev
which enables fetch tests to pass
2024-09-17fix(remote): `fetch` dont show resolving 0 deltasDanConwayDev
in progress updates as its not resolving any deltas
2024-09-16fix(remote): fetch report join remote linesDanConwayDev
when they are sent via multiple messages
2024-09-16refactor(remote): add tests to fetch reportingDanConwayDev
and slightly refactor
2024-09-13fix(remote): add robustness to push reportingDanConwayDev
by avoiding bugs where lines are removed accidentally by storing report in a mutex and rewriting the entire report at each update
2024-09-13fix(remote): clear `fetching ref list`DanConwayDev
so it doesn't remain in the TUI
2024-09-13fix(remote): fetch status reduce line writesDanConwayDev
by only removing and rewriting transfer progress
2024-09-13fix(remote): add rebustness to fetch reportingDanConwayDev
by avoiding bugs where lines are removed accidentally by storing report in a mutex and rewriting the entire report at each update
2024-09-13refactor: abstract find pr from branch nameDanConwayDev
so it is done consistantly across ngit and the remote helper
2024-09-13fix(ngit): improve find pr from branchDanConwayDev
so that it only finds branch name not prefixed with `pr/` if you are the author of the pr as there may be duplicate named prs.
2024-09-13fix(ngit): `pull` and `push` find pr from branchDanConwayDev
as since `cl.get_branch_name` has been introduced branch names could be prefixed with a pr and sometimes postfixed with an event id
2024-09-12fix(remote): `push` status updatesDanConwayDev
push needs to use push_transfer_progress rather than transfer_progress
2024-09-12fix(remote): generalise auth failure detectionDanConwayDev
by using words or short phrases
2024-09-12fix(remote): `push` detect ssh auth failureDanConwayDev
adding new errors that are authentication related
2024-09-12fix(remote): improve `push` status updatesDanConwayDev
to bring them more into line to the native git client
2024-09-12fix(remote): improve fetch & list status updatesDanConwayDev
to bring them more into line to the native git client
2024-09-12feat(remote): add fetch status updatesDanConwayDev
based off of: https://github.com/rust-lang/git2-rs/blob/master/examples/fetch.rs
2024-09-12fix(remote): stop fetching after successDanConwayDev
instead of trying again over fallback protocols
2024-09-12fix(remote): identify auth failureDanConwayDev
so that attempts can be made to use a fallback protocol
2024-09-12fix(remote): update copyDanConwayDev
to make it more like native git
2024-09-11refactor: fix fmt and clippy issuesDanConwayDev
which potentially were only identified when a dependancy was updated
2024-09-11build: add nix build derivation for tarballDanConwayDev
so a tarball can be created per system for issuing releases
2024-09-11build: remove PKG_CONFIG_PATH env varDanConwayDev
as this is not needed. it was originally added as part of diagnosing openssl availablity
2024-09-11build: fix nix binary references and build toolsDanConwayDev
both binaries should be within the same package. `pkg-config` and `openssl` need to be in both `nativeBuildInputs` and `buildInputs` and dev shell `buildInputs` otherwise the build will fail. PKG_CONFIG_PATH ev also needs to be set.
2024-09-10build: fix dependancy package errorsDanConwayDev
which were preventing the build process from running
2024-09-09build: use nix to build binariesDanConwayDev
using rustPlatform.buildRustPackage as used in nixpkgs
2024-09-09chore: nix flake updateDanConwayDev
update nix dependancies to latest version using default update options
2024-09-09test(remote): refactor split into multiple filesDanConwayDev
to make it easier to read and navigate
2024-09-09test: refactor into binary subdirsDanConwayDev
in prep for splitting git_remote_nostr tests
2024-09-09feat(remote): push protocol selection / fallbackDanConwayDev
enable override from nostr url clone url is filesystem use filesystem otherwise try ssh, then https authenticated unless clone url is http, then try ssh then http as we assume, we are on a local trusted network.
2024-09-06fix(remote): `fetch` and `list` status copyDanConwayDev
so that it the filesystem url is shown
2024-09-06feat(remote): just use ssh if auth succeedsDanConwayDev
and don't proceed to https or http
2024-09-06fix(remote): `list` apply protocols selectionDanConwayDev
used in fetch and tweak the error reporting
2024-09-06fix(remote): improve protocol selction / fallbackDanConwayDev
abstract the protocols and order to try under different scenarios add some additional scenarios eg hardcoded http tweak error reporting
2024-09-06refactor: render ServerProtocols lowercaseDanConwayDev
as they are easier to read
2024-09-06feat(remote): fetch protocol selection / fallbackDanConwayDev
enable override from nostr url clone url is local use local otherwise try https unathenticated, ssh, then https authenticated
2024-09-06add `CloneUrl`DanConwayDev
to enable remote to interact with git servers over a range of specified protocols
2024-09-04refactor(remote): split into modulesDanConwayDev
to make it easier to read
2024-09-04refactor: use FromStr trait for NostrUrlDecodedDanConwayDev
as it should have been used in the first place
2024-09-04refactor: fix imports, etc based on restructureDanConwayDev
move some functions out of ngit and into lib/mod and lib/git_events remove MockConnect from binaries so it is only used in the library. this was done: * mainly because automocks were not being imported from lib into each binary * but also because the these functions were being tested with MockConnect
2024-09-04refactor: organise into lib and bin structureDanConwayDev
the make the code more readable this commit just moves the files, the next commit should fix the imports
2024-09-03feat(remote): enhance nostr url formatDanConwayDev
add protocol and user parameters so that users can overide the protcol in the clone url and use specific protocols for fetch and push. see: nostr:nevent1qvzqqqqqqypzpgqgmmc409hm4xsdd74sf68a2uyf9pwel4g9mfdg8l5244t6x4jdqyxhwumn8ghj7mn0wvhxcmmvqqsp6a5ck6grd9lq0nu25dcfzggxde67erut76w0ucal5rcfq4y5gzc7gmpzm the override feature hasn't been implemented yet but this is an enabler. also added a new format so that macos (zsh) users don't have to use quotes: nostr://<optional-protocol>/npub123/<optional-relay>/identifer
2024-09-03feat(init): https as default clone url protocolDanConwayDev
so clone urls align to fetch rather than push. see discussion here: nostr:nevent1qvzqqqqx25pzpp59a0hkv5ecm45nrckvmu7pnk0sukssvly33u3wwzquy4v037hcqyxhwumn8ghj7mn0wvhxcmmvqqs2tdha5ymadffrkdprachsz6gsgsy6kc8gkntgq750mfn7u3aeu3g7xt8k9
2024-08-30chore: bump to v1.4.5v1.4.5DanConwayDev
changelog: * when clone url is ssh use auth for `list` and `fetch` as they are required * when clone url is ssh, fallback to https so read events dont always require auth * stop asking for git server credentials when pushing `pr/` branch * fix `no repo events at specified coordinates` error via rust-nostr v0.34.1 upgrade
2024-08-30feat(remote): fallback to ssh or httpsDanConwayDev
ssh clone urls are problematic as it requires authentication for fetching if users don't ave ssh keys setup for authentication with the git server. so cloning / fetching will fail. some users only authenticate using https and some only using ssh so we cant just use https for everything. this commit falls back to the other protocol if the first one failed for list, fetch or push
2024-08-30fix(remote): push pr shoudln't connect to serverDanConwayDev
as reported by arjen and tracked via: nostr:nevent1qvzqqqqx25pzpgqgmmc409hm4xsdd74sf68a2uyf9pwel4g9mfdg8l5244t6x4jdqy2hwumn8ghj7ur4wfcxcetjv4kxz7fwvdhk6qpqur335cpnlktwkhv43d8sdk24dpu79jnfuk9qyvk7kga6aencm77sj7e8fa as our tests are connecting to clone url in the file system its difficult to write a test for this
2024-08-30build: remove pre-commit git hookDanConwayDev
because it takes to long to run and impacts workflow it was only recently fixed as it didn't have execute permissions
2024-08-30fix(remote): add auth for ssh `list` and `fetch`DanConwayDev
as authentication is always required if clone url is ssh
2024-08-28chore: bump rust-nostr to v0.34.1DanConwayDev
this fixed an efficency thing which meant we needed to increase a timeout during the update which is reverted int his commit. see: nostr:nevent1qvzqqqqx25pzpgqgmmc409hm4xsdd74sf68a2uyf9pwel4g9mfdg8l5244t6x4jdqy88wumn8ghj7mn0wvhxcmmv9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcqyqg5lfwhruw4qjpnlzq0tct0swnuj9dvavz8gsq8npuyygznstw36882alm
2024-08-28chore: bump rust-nostr to v0.34.0DanConwayDev
bump all rust-nostr packages I'm not sure I'm completely happy with allowing mutable_key_type but it is just run inside tests it appears that Event didn't have the Copy trait in v0.33.0 so I'm not sure why this warning suddenly appeared the timeout of client.get_events_of needed to be doubled which could indicate that an ineffiency has been introduced in v0.34.0 the primary motivation for upgrading now was to get this fix: nostr:nevent1qqsffl2ld678pjj77rh9k2g4edljmxdu6ew4lvgnglxv7jhu3ru8vvcpp4mhxue69uhkummn9ekx7mqzyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6rm2ucm as I suspect it is also effecting other repositories eg nostr-profile-manager
2024-08-28build: commit-msg allow nostr: linksDanConwayDev
even though they may exceed line length rules unfortunately until https://github.com/jorisroovers/gitlint/issues/255#issuecomment-1040868243 get merged
2024-08-27chore: bump to v1.4.4v1.4.4DanConwayDev
changelog: * include git plugin in release zip
2024-08-27build: include helper binary in gh actionDanConwayDev
so that that will be included within the release zips
2024-08-27fix(init): make maintainer.yaml copy clearerDanConwayDev
as this has reduced in importance as the user begins by selecting a trusted maintainer
2024-08-27chore: bump to v1.4.3v1.4.3DanConwayDev
changelog: * fix clone using nostr url
2024-08-27fix(remote): clone failureDanConwayDev
clone fails due to error: `Error: failed to fetch objects in nostr state event from:` interestingly this error doesnt appear when the git url is a local repository in a file server so the tests dont fail
2024-08-20chore: bump to v1.4.2v1.4.2DanConwayDev
changelog: * fix only maintainers can push normal branches / tags
2024-08-20fix:(remote): only maintainers can pushDanConwayDev
and update / issue a state event. normal users can only push branches prefiex with pr/ and these go on nostr, not the git server.
2024-08-20chore: bump to v1.4.1v1.4.1DanConwayDev
changelog: * fix pushing tags in git-remote-nostr
2024-08-20fix(remote): `push` tags use correct oidDanConwayDev
use ^{} postfix for the commit id and without postfix for the tag id
2024-08-20build: removed git categoryDanConwayDev
as publishing to crates.io now gives error: ` The following category slugs are not currently supported on crates.io: git `
2024-08-20chore: bump to v1.4.0v1.4.0DanConwayDev
changelog: * add git-remote-nostr binary
2024-08-20docs: add git-remote-nostr content to readmeDanConwayDev
and include a primer on how it works
2024-08-20feat: set proposal branch prefix to `pr/`DanConwayDev
from `prs/`. whilst plural reflects usage of `heads` and `tags` in git refs, singular is shorter and more reflective of usage of branch prefixes such as `feature/` `fix/`
2024-08-19feat(repo_ref): find coordinates from git remotesDanConwayDev
unless nostr.repo git config is set look for coodinates in git remotes that use the nostr format
2024-08-19refactor(repo_ref): split get_repo_coordinatesDanConwayDev
as the function is getting to long and we are about to add more to it
2024-08-19refactor(remote): move url_to_repo_coordinatesDanConwayDev
so it can be used by repo_ref which doesnt import git_remote_helper
2024-08-19test(remote): fix first test runDanConwayDev
if binaries in git-exec-path are copied to tmp-git-exec-path if the dir doesnt exist some enties fail to copy which was causing the first test to hang
2024-08-18feat(remote): `push` log merge event creationDanConwayDev
so the user knows that a merge commit event will be issued
2024-08-18feat(remote): `push` publish merge eventDanConwayDev
when a merge commit is being pushed that merges a patch in a proposal
2024-08-09feat(remote): `push` new proposalDanConwayDev
issue new proposal when new branch is pushed into `prs/*` namespace, which doesn't match an existing proposal
2024-08-09feat(remote): `push` to non-open proposalsDanConwayDev
will updates the proposal rather than trying to issue a new one
2024-08-09feat(remote): remove pr id postfix for authorsDanConwayDev
remove the (<short id>) post fix for remote proposal branches when the current user is the author this enables pushing new proposals without having to change the upstream branch in a way that remote helpers weren't designed to do
2024-08-08fix(send): patch countDanConwayDev
fix [PATCH n/n] when no cover letter and patches great than 1 fixes error where the first patch would be [PATCH] followed by [PATCH n/n]
2024-08-08test: increase rexpect timeout 3s ~> 4sDanConwayDev
to avoid tests intermitantly failing when there is no problem
2024-08-08feat(remote): `push` force push proposalDanConwayDev
will issue a proposal revision
2024-08-08test(remote): improve robustness of testDanConwayDev
by allowing the output assert to fail rather than hang
2024-08-08test(remote): `push` to existing proposalDanConwayDev
push 2 commits to an existing proposal there are a lot of asserts in here but if they were split out into their own tests the suite would take much longer to run as we are waiting a few seconds in the test to ensure the timestamps are different
2024-08-08fix(remote): `push` proposal use correct threadDanConwayDev
in the event of a proposal revisions