upleb.uk

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

summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2024-08-08fix(remote) `push` proposals patch orderDanConwayDev
so that ancestors come first
2024-08-08fix(remote): `push` only send state when updatedDanConwayDev
not when only a proposal branch was being pushed
2024-08-08test(remote): helper to run as git remote helperDanConwayDev
add a test helper function to enable the git remote helper to be run as intended (via git) rather than calling it directly
2024-08-08fix(remote): `fetch` unsigned commit changed HEADDanConwayDev
this caused `git clone` to fail and obviously changed HEAD broken by 406f6d70f6a71cbd8796268f6c36711e893ab9d5
2024-08-07fix(remote): `push` apply proposal permissionsDanConwayDev
so that only the author and repo maintainers can push to a proposal
2024-08-07feat(remote): `push` add commits to proposalDanConwayDev
push commits as patches to a proposal or propoal revision
2024-08-07test(git): make drop GitTestRepo optionalDanConwayDev
so that we can inspect the state of a test repo
2024-08-07fix(remote): `push` dont send rejected to serverDanConwayDev
dont send refspec to a git server which was rejected due to a conflict highlighted on a different git server
2024-08-07feat(remote): `fetch` applies proposal commitsDanConwayDev
that have been proposal tips returned by `list` can be found
2024-08-07refactor(git): apply patch to treeDanConwayDev
rather than head / working directory so that we can create commits in the background
2024-08-06fix(remote): `list` correct proposal refsDanConwayDev
as the `refs/heads/` prefix wasn't present
2024-08-06feat(remote): `fetch` ignore git servers `prs/*`DanConwayDev
as the namespace is reserved for nostr patches
2024-08-06feat(remote): `fetch` report on progressDanConwayDev
so that user knows what step we are on
2024-08-06feat(remote): `list` includes open proposalsDanConwayDev
and filters out other branches in `prs/*` namespace
2024-08-06test(remote): `list` fix warning copyDanConwayDev
to align with changes in 557a5d98c6ea373db117d6fe19489086b4461aa7
2024-08-05fix(remote): `push` when server is ahead of nostrDanConwayDev
but behind local. correctly report on situation and allow push
2024-08-05feat(remote): print git url short nameDanConwayDev
instead of the full url so messages are easier to read
2024-08-05feat(remote): improve `list` warning copyDanConwayDev
so it is clearer and easier to read
2024-08-05feat(remote): improve `push` warning copyDanConwayDev
so it is clearer and easier to read
2024-08-05feat(remote): `push` handle out-of-sync serversDanConwayDev
1. don't attempt to push to a remote which is already up-to-date 2. don't attempt to delete branch on remote if it is already deleted 3. only push when out of sync if remote tip is ancestor of pushed commit 4. force push to remote if user force pushed and remote is in sync with nostr
2024-08-05test(remote): remove `async_run_test`DanConwayDev
where it is not needed so code is easier to read
2024-08-05refactr(remote) `list` abstract `list_from_remotes`DanConwayDev
In preparation for its reuse within `push`
2024-08-05test(remote): run `list for-push` before `push`DanConwayDev
because this is how git uses the git remote helper
2024-08-05test(remote): refactor `push` testsDanConwayDev
to: 1. test helper response (ok printed) seperately 2. make failing tests end and print failure rather than hanging 3. remove `async_run_test` function when it isn't needed
2024-08-02test(remote): warn when out of syncDanConwayDev
update test to refelect warning message
2024-08-02feat(remote): `list` add git server statusDanConwayDev
so we have a status update and know which server is slow
2024-08-02feat(remote): improve warning copyDanConwayDev
so it is more concise and clear
2024-08-02feat(remote): warn when out of syncDanConwayDev
with git servers. this will also form the basis of preventing failed pushes
2024-08-02bump nostr-database to v0.33.1DanConwayDev
to get latest fixes applied
2024-08-02fix: identifer in parse `nostr://npub/identifer`DanConwayDev
as it was hardcoded to test value
2024-08-01Revert "refactor: fix `stderr` ~> `stdout`"DanConwayDev
This reverts commit 3d2e031294b467be725a4ac5f5e65e029d25699a.
2024-08-01fix(remote): display nostr fetch reportDanConwayDev
use stderr to write lines that get displayed when run as a git-remote-helper
2024-08-01Revert "fix(remote): display nostr fetch report"DanConwayDev
This reverts commit 6b63f150ba9e7c69bf83bcbd24543051c765c9f6.
2024-08-01fix(remote): display nostr fetch reportDanConwayDev
use `stderr` to write lines that get displayed when run as a git-remote-helper
2024-08-01refactor: fix `stderr` ~> `stdout`DanConwayDev
as `stderr` is being used when it shouldn't be
2024-08-01Revert "clear 'fetching updates..' when done"DanConwayDev
This reverts commit 4a38d5f4179114fce60f84c4694284a49f648c64.
2024-08-01clear 'fetching updates..' when doneDanConwayDev
unless there were errors and detailed report doesnt clear
2024-08-01test(remote): fix url `from_naddr`DanConwayDev
as rust-nostr doesn't add trailing slash to relays
2024-08-01feat(remote): `--version` get from cargo packageDanConwayDev
instead of manually set. aligns with ngit version.
2024-08-01feat(remote): add `nostr://npub/identifer`DanConwayDev
support with optional relays as query parameter
2024-08-01test(remote): add nostr url parse testDanConwayDev
in prep for supporting new format
2024-08-01feat(remote): `fetch` fallsback to other serversDanConwayDev
listed in the announcement `clone` tag
2024-08-01feat(remote): `push` to all `clone` serversDanConwayDev
initially we push to the first server, if successful update the state event, then siliently push to the others and silently fail
2024-08-01fix(remote): download oids not refstrDanConwayDev
so that if the git server is ahead of the state announcement, only the commits in the state annoucement will be downloaded
2024-08-01feat(remote): `fetch` uses state eventDanConwayDev
and falls back to git server is state event cant be found
2024-08-01test(remote): `push` delete branch updates stateDanConwayDev
in nostr state event
2024-08-01test(remote): `recreate_as_bare` cp all branchDanConwayDev
previously `recreate_as_bare` was using clone and therefore just copying main branch
2024-07-31fix(remote): updating `push` state eventDanConwayDev
ensure refs are included in state event use `HashMap` to improve `RepoState` struct
2024-07-31feat(remote): `push` issues state eventDanConwayDev
if no previous state events can be found it replicates git server otherwise it just updates pushed value
2024-07-31test(remote): `push` deletes branchDanConwayDev
on the git server and in local remote refs
2024-07-31test(remote): push updates remote refsDanConwayDev
in the local git repository
2024-07-31test(remote): `push`updates ref on git serverDanConwayDev
for multiple branches send in a batch
2024-07-31test(remote): add `recreate_as_bare` helperDanConwayDev
as gitlib2 cannot push to a non bare git repo in a directory
2024-07-31test(remote): `fetch` downloads commitsDanConwayDev
from git server specified in announcement
2024-07-31test(remote): add second branch to `list`DanConwayDev
and ignore the branch ordering
2024-07-31test(remote): `list` returns HEAD and mainDanConwayDev
returns head and main branch head
2024-07-31test(remote): test helpers and basic fetchDanConwayDev
create test helpers and setup basic test to verifiy fetch was ran
2024-07-30refactor: add struct `RepoState`DanConwayDev
to more easily access state details
2024-07-30refactor(remote): improve readabilityDanConwayDev
and move code identifying git server url into `list`, `fetch` and `push`.
2024-07-29refactor(remote): abstract `list`DanConwayDev
in preparation for managing state via nostr
2024-07-29feat(fetch): fetch state announcementsDanConwayDev
if multiple maintainers produce state events with the same timestamp, the event with the largest event_id will be used
2024-07-28fix(remote): only update ref when `push` succeedsDanConwayDev
only update remote ref when push was successful
2024-07-28refactor(remote): abstract `fetch` and `push`DanConwayDev
so main doesn't grow too large
2024-07-28feat(remote): report on `push`DanConwayDev
pass outcome back to git to enable reporting
2024-07-28feat(remote): batch `push` and `fetch`DanConwayDev
requests so that the git_server is called once rather than many time in serial
2024-07-28refactor(remote): allow more `push` callbacksDanConwayDev
by using GitAuthenticatior credential callback directly rather than its `push` method
2024-07-26fix(remote): push updates remote refsDanConwayDev
push was not updating remote refs after the anon remote was being pushed
2024-07-26fix(remote): authenticate pushesDanConwayDev
in the future we could implement our own credentials callback function to remove the dependancy
2024-07-26feat(remote): add nostr git remote helperDanConwayDev
as a simple proxy to the first git server listed in announcement parse clone url as `nostr://naddr123...`
2024-07-25chore: bump to v1.3.1v1.3.1DanConwayDev
changelog: - fix(init): update maintainers.yaml if identifier or relays have changed
2024-07-25fix(init): add missing identifier to yamlDanConwayDev
add missing or updated identifier to maintainers.yaml as we were not checking whether it has changed or added also update if relays do not match
2024-07-25test: reintroduce `match_event` to test queriesDanConwayDev
removed in fc3f22eac2bb81823f170f61ba9d39baff76b933 as rust-nostr made it private attempts were made to reintroduce it in https://github.com/DanConwayDev/ngit-cli/pull/5 finally we can close #5, the last github PR
2024-07-24build: remove relay from maintainers.yamlDanConwayDev
as it was proving slow. It will sometime timeout it will consistantly take 3-4s longer than other relays
2024-07-24build: add identifer to maintainers.yamlDanConwayDev
so that users can more easily find the repo announcement
2024-07-24chore: bump to v1.3.0v1.3.0DanConwayDev
changelog: * NIP-46 remote signing (from Amber, etc) * `list` breaks down proposals by status * local cache in `.git` to enable viewing proposals offline and reuse by other git clients * introduced `fetch` to download recent proposals * improved repo selection and handling of multiple maintainers * unqiue branch names for proposals to prevent name conflicts * login to different npubs for different repositories * store login details in git config so they can be reused by other git clients ran locally * add NIP-31 alt tags to events * add euc marker per NIP-34 tweak * fix: ensure repo events of all maintainers are tagged in proposals * fix: stop filtering out very large patches
2024-07-24docs: remove draft nip34 and add fetchDanConwayDev
from readme to bring it up-to-date
2024-07-24refactor: use nip34 kinds from rust-nostrDanConwayDev
instead of Kind::Custom(u16) as v33 of rust-nostr introduced them
2024-07-24test: remove old proposal rev amended locallyDanConwayDev
`pull` test. It's failing and only tests for different copy in an obscure scenario
2024-07-24test: abstract `list` and `pull` test codeDanConwayDev
to enable improved debugging
2024-07-24feat(push): `--force` tries non-interactivelyDanConwayDev
if branch is ahead of main or master
2024-07-24test: fix `pull` testsDanConwayDev
it was so much clearer what the problem was after abstracting reused test code
2024-07-24test: refactor `list` and `pull` to abstract codeDanConwayDev
into lib which makes reading and maintaining tests easier
2024-07-24test: fix intermitant failures due to timestampDanConwayDev
of proposals this is the same fix applied to `list` tests in bc1e9e7ff8d2c3747a7dbc3b649930ac5bc6425d but applied to `push` and `pull`
2024-07-24test: refactor `pull` and `push` to abstract codeDanConwayDev
into lib which makes reading and maintaining tests easier
2024-07-23feat(list): unique proposal branch namesDanConwayDev
to prevent accidental name conflicts. also moved to prs/* namespace `pull` and `push` integration tests are intermitantly failing to end at least for `push` they work when run individually but not when run together
2024-07-22fix: typos and improve copyDanConwayDev
when finding repo announcements add a hint to find naddr on gitworkshop.dev
2024-07-22chore: bump rust-nostr to v0.33.0DanConwayDev
bump all rust-nostr packages move from using patched nip46 nip05 function to profile function in v33 fix send_events_to error message
2024-07-22test: increase rexpect timeout 2s ~> 3sDanConwayDev
to avoid tests intermitantly failing when there is no problem
2024-07-22fix(pull): find proposal, root not revisionDanConwayDev
when looking for proposal roots 'pull' was not filtering out proposal revisions issue identified in failing test, which it now passes
2024-07-19feat: intergrate `fetch` into `init`DanConwayDev
as part of a project to use fetch and the stored cache everywhere
2024-07-19feat: save created events to cacheDanConwayDev
as soon as they are successfully sent to at least one relay
2024-07-19feat: integrate `fetch` into `list`DanConwayDev
as part of a project to use fetch and the stored cache everywhere
2024-07-19feat: integrate `fetch` into `pull`DanConwayDev
the last set of pull integration test fails: when_latest_event_rebases_branch we are planning on replacing pull so I'm not sure whether it is worth fixing
2024-07-19feat: integrate `fetch` into `push`DanConwayDev
as part of a project to use `fetch` and the stored cache everywhere
2024-07-19feat(send): add relay hints to linkDanConwayDev
to proposal which is displayed at the end of the functon
2024-07-19feat: intergrate `fetch` into `send`DanConwayDev
reworking the tests and test suite as appropriate
2024-07-19fix(fetch): error when user profile not presentDanConwayDev
when fetching a user profile from user relays it throw an error when an existing version of the profile wasn't found