upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src/sub_commands
AgeCommit message (Collapse)Author
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-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-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-17fix(fetch): get profile with nsec cli parameterDanConwayDev
only the profile from the saved user was being fetched. tests are using cli login parameters and expecting to see the user's name but it was only showing the npub. fixed by allowing the explicit request of specfic user profiles.
2024-07-17feat(init): set repo pointer in git configDanConwayDev
set repo.nostr to naddr reflecting the announcement just issued
2024-07-17feat(login): use fetch to get user profileDanConwayDev
fetch automatically gets updates to logged in user profile / relays fetching without specifying repo pointers will just fetch user profiles so that can be used during login, if user profile isn't in cache login now uses fetch
2024-07-15feat(fetch): fetch events and save to cacheDanConwayDev
enabler to add simplicity, efficency and offline capability to other functions improve repo announcement selection
2024-07-05feat(init): group by statusv1.3-beta1DanConwayDev
show open proposal by defult and include options to filter by other statuses there are not tests for this currently as the intention is to transform 'list' further by adding a 'fetch'
2024-07-02feat(send): tag each maintainer's repo eventDanConwayDev
instead of just tagging the first maintainer's repo event and each maintainer with a p tag This allows for easier discoverability of the proposal when: * the first maintainer hasn't issued a repo event * the maintainers change over time and the single tagged repo event is no listed as a maintainer in anyone elses repo event
2024-06-28feat(login): login with nip46 remote signerDanConwayDev
and save details in git config
2024-06-25refactor: replace keys with signerDanConwayDev
so that nip46 bunker signing can be added
2024-06-24feat(login): store in git config and use cacheDanConwayDev
replace ngit yaml file config with: * nsec / ncryptsec / npub in git config in nostr.* namespace * sql database cache for metadata and relay events allow different logins to be used for different git repositories by storing login in local git config
2024-06-13chore: bump rust-nostr to v0.32.0DanConwayDev
both nostr and nostr-sdk packages and also in test_utils fix the many breaking changes fix: ignore trailing slash when depuplicate relays for send events. this was picked up as TagStandard::RelayMetadata has started adding a traling slash. refactor cli output test function `expect_send_with_progress` so that relays can succeed / fail in a random order
2024-05-23feat: add NIP-31 alt tagsDanConwayDev
to repo announcements, patches and cover letters
2024-05-14fix: `ngit init` multiple maintainersDanConwayDev
fixes: nostr:nevent1qqsz2g7gexkmqgr0x4g5kf9py8vx06p8nyn78v7mhevprasnyfy5swcpp4mhxue69uhkummn9ekx7mqzyr7jprhgeregx7q2j4fgjmjgy0xfm34l63pqvwyf2acsd9q0mynuzdyll0c
2024-05-07feat(send): `in-reply-to` tags npubs and eventsDanConwayDev
in addition to being used to create a new proposal revision, in-reply-to can now be used to reference other events and npubs. for example an issues or kind 1 threads where the proposal is relevant the proposal will only be marked as a revision if the first parameter is a reference to an existing proposal root
2024-04-22feat(send): print link to proposal rootDanConwayDev
after a new root proposal has been sent link directly to gitworkshop.dev as well as njump.me until gitworkshop is added to njump
2024-04-08feat(init): support multiple git_serversDanConwayDev
in line with initial merged nip34 spec
2024-03-27refactor: more concise error messageDanConwayDev
to suppress the clippy too_many_lines in function warning
2024-03-25update tag generationDanConwayDev
to reflect changes in rust-nostr
2024-03-22replace XOnlyPublicKey with wrapper PublicKeyDanConwayDev
to reflect new name in rust-nostr
2024-03-22use Sha1Hashin new locationDanConwayDev
it had moved from 'prelude' to 'hashes'
2024-03-22chore: nix flake updateDanConwayDev
update nix dependancies to latest version using default update options
2024-03-08feat(send): compare against origin/main vs mainDanConwayDev
catch more errors when proposed commits are not connected to origin/main branch improve default selected commits when on main branch
2024-03-08feat(send): select commits from a listDanConwayDev
when since_or_range isn't specified adds resilience as assuming master..HEAD can cause some issues eg when master is not up-to-date with origin/master
2024-03-04fix: restore better error messageDanConwayDev
which is covered by a test case. broken by: 445eea13d987b345535fd4fa56486ff334bbd351
2024-03-04fix: grammar in cli output patch ~> patchesDanConwayDev
fixing error which should have been resolved in: 8519dc4a10d47747e6df3f47e25c36bf16befe00
2024-03-04fix(send): feature branch default to ahead of mainDanConwayDev
instead of the latest commit. issue intrroduced in: 445eea13d987b345535fd4fa56486ff334bbd351
2024-03-01feat(send): fix grammar in cli outputDanConwayDev
refer to a single patch as patch rather than patches
2024-03-01feat(send): when on main default to sending 1 patchDanConwayDev
based on feedback from santos: nostr:31c085a584cbd30f71a44a70eaf828c2c8c5f6e3efb7942547edb37cf4a632cf
2024-02-29feat(send): add proposal revision cli msgDanConwayDev
before cover letter prompt primarily this is to make it clearer that a proposal update is being sent when using `ngit push --force` instead of a new proposal
2024-02-28fix: branch-name specified as main or masterDanConwayDev
branch-name should be ommitted or ignored if patches created on main or master instead it should be infered based on commit msg
2024-02-23feat(list): newest proposals firstsDanConwayDev
show proposals in order newest first
2024-02-23feat(init): improve copy orderDanConwayDev
move instruction to commit and push maintainers.yaml to end of file
2024-02-23feat(init): add customisation and defaultsDanConwayDev
- allow more cli input options - allow customisation of more fields in interface - change default identifer from shorthand root commit to short name - defaults to existing repo event (users or other) or maintainers.yaml
2024-02-23fix(push): remove force push bugDanConwayDev
introduced in b931b37e26486e4e6d15f302e87141dcf2f596ba
2024-02-23refactor: remove confusing options, improve helpDanConwayDev
from_branch and to_branch have been replaced by specifying revision ranges
2024-02-23refactor: remove confusing options, improve helpDanConwayDev
from_branch and to_branch have been replaced by specifying revision ranges
2024-02-23feat(push): add `--force` to issue revisionDanConwayDev
wrapping `send --in-reply-to` unless branch up-to-date
2024-02-22refactor: fix spellingDanConwayDev
ammended should read amended
2024-02-22refactor(list): improve copyDanConwayDev
reduce wording in choices
2024-02-22fix(list): local rebase detected as ammendmentsDanConwayDev
also updated copy and code comments
2024-02-22refactor: simplifed ammendments and rebasesDanConwayDev
to align with changes done to pull c5dfd1b7e509eedc33de75343de8659e3c9e0b2a also improved copy
2024-02-22refactor: simplifed ammendments and rebasesDanConwayDev
to align with changes done to pull c5dfd1b7e509eedc33de75343de8659e3c9e0b2a also improved copy
2024-02-22fix(pull): local rebase detected as ammendmentsDanConwayDev
also updated copy and code comments
2024-02-22test(list): local commits on uptodate proposalDanConwayDev
add test for scenario and tweak copy
2024-02-22feat(pull): support `--in-reply-to` revisionsDanConwayDev
added tests to cover one of these rebase scenarios
2024-02-22feat(list): improved copy for rebase scenariosDanConwayDev
and added some comments to better describe the rebase scenarios
2024-02-22fix(list): support `--in-reply-to` latest revisionDanConwayDev
update list to support rebases via proposal revisions as created by `ngit send --in-reply-to` or upcoming change `ngit push --force`
2024-02-21feat(send): in-reply-to arg for revised proposalDanConwayDev
send a revised version of a proposal using the new in-replyto argument suppliments existing 'root' tag with 'root-revision' e 'reply' tag to the original proposal
2024-02-21feat(send): specify commits eg HEAD~2DanConwayDev
specifiy commits or commit ranges in the same way that `git format-patch` allows
2024-02-20feat(list): set checkout branch as default choiceDanConwayDev
instead of no default. note: I spent hours trying to get CliTester to support default choices and gave up. I have a stashed the attempt and am moving on...
2024-02-20fix(pull): applying proposal revisionsDanConwayDev
if a revision responds to a root patch (no cover letter) then the revision will nolonger be applied on top of the first patch in the original set
2024-02-20refactor: tweak error wordingDanConwayDev
remove the word nostr for consistency and as its a bit confusing
2024-02-20feat(list): download or apply with git amDanConwayDev
add the option to download patches or apply them with git am give more granular messages about the state of proposals. add support for replacing old proposal version with a new one
2024-02-20refactor: simplify commit msg extractionDanConwayDev
and create functions to use this for non-root patches
2024-02-20fix: cover letter description from patchDanConwayDev
if description isn't present this was causing an breaking error
2024-02-19fix: ingore patch diff in descrition fallbackDanConwayDev
the description is not currently displayed so no tests where written
2024-02-16refactor: added code commentsDanConwayDev
to reflect the requirement for certain tags
2024-02-16refactor: rename PR to proposalDanConwayDev
PR is a problematic term when it ambiguous whether the set of patches are PR-like or email-patch like.
2024-02-16refactor: use event_id in get_most_recent_accestorDanConwayDev
instead of commit ids as part of nip34 compliance and to enable applying proposals to tip of master in the future
2024-02-16refactor: remove reliance on 'commit' tagDanConwayDev
as part of nip34 compliance
2024-02-15fix(list): filter for repo event ref tagDanConwayDev
previously filtering for d tag rather than a tag this kind of bug should be picked up by tests when our mock relay is applying filters before sending events
2024-02-15fix: allow optional description and webDanConwayDev
also add a default web
2024-02-14feat: find repo event by nevent or naddrDanConwayDev
if repo event cannot be found using unique commit the user can find it via a nevent or naddr also handle no PRs found
2024-02-14feat: send to default relays, blast repo eventDanConwayDev
improve the distribution of events by sending to default relays in addition to user and repo relays. for better discoverability of repo events, this is also blasted. a temporary fix to blast everything was removed. the less reliable purplepages.es relay is moved to more_fallback_relays that currently isn't used
2024-02-14feat!: move `claim` > `init`DanConwayDev
this aligns with gitstr and is more intuative the idea behind using claim to indicate that it is only for maintainersto do is valid but its too confusing
2024-02-14feat!: move `prs create`>`send`, `prs list`>`list`DanConwayDev
remove unnecessary hierachy of `prs` which is also a troublesome term replace the concept of `create` which aligns more to the PR github model to `send` which aligns more with the git patch model
2024-02-13feat!: nip34 set pr kind to patch kindDanConwayDev
this enables consistancy of display with simple clients that are just taking the output of `git format-patch`
2024-02-13feat!: nip34 make pr event optionalDanConwayDev
use first patch as thread root if pr event isn't present. begin renaming pr event to cover letter. fix patch ordering upon creation. patches were in youngest first order which caused: - `PATCH n/t`to be in reverse order - the youngest patch was the marked root - oldest patch replied to the youngest fix finding most recent patch event. when a patch in a set is the most recent it will share a created_at with other patches. previously the first patch recieved from relay in the set would be used. now it finds the first patch with that created_at which isn't also a parent of another patch with the same created_at.
2024-02-13feat(prs-create)!: pr to nip34-like cover letterDanConwayDev
up the pr event type to a nip34-like cover letter format this sets the building blocks in place to enable simplier clients to use the 'cover letter' feature in `git format-patch` to create the experience as a pr event
2024-02-09refactor(git): find root commit from headDanConwayDev
this is simpler there is no need to check whether main or master exist because one does 99+% of the time the root commit wil be te same for head as master 99+% of the time
2024-02-09feat(prs-create): add `PATCH n/n` to contentDanConwayDev
format patch as a series in the patch event content unless it is 1/1 and there is no pr (cover letter) event
2024-02-02feat(prs-create)!: use nip34 patch kind and tagsDanConwayDev
- change kind number - remove "r-" prefix from unique commit id r tag - rename tag commit-sig to commit-pgp-sig - a tag for repo identifer and pubkey. this serves as a vote for this pubkey being a maintainer - add relay hints - change format of committer tag - remove r references to parent commit id - tag parent patch event if its part of change request author and commit-message tags still need to be removed but they are required to apply patches with gitlib2. we will need to fallback to running the git client to apply patches. BREAKING CHANGE: change patch/commit event kind and tags to reflect nip34 draft. events with the older kind will no longer be found and will not be in a valid format
2024-02-02feat(repo_ref)!: use nip34 kind and tagsDanConwayDev
- change kind number - do not rely on d identifiers for unique commit id. set it as default to unique commit id shorthand. - remove "r-" prefix from unique commit id r tag and instead add checks for SHA1 validity - rename tag git_server to clone - add web tag - use single relays tag instead of multiple relay tags BREAKING CHANGE: change repo event kind and tags to reflect nip34 draft. events with the older kind will no longer be found and will not be in a valid format
2024-01-26chore: upgrade rust-nostr v0.27.0v0.1.1DanConwayDev
this is a contribution from jk (sectore) that I rebased and squashed into this commit. the tests were broken in the last few commits to rush out some fixes. this change may introduce more issues because of Relay.respond_standard_req.
2024-01-26fix: use correct fallback relaysDanConwayDev
instead of the `more_fallback_relays`
2024-01-26feat(claim): add blaster to relay listDanConwayDev
this is a temporary fix until we handle relays more effectively
2024-01-26fix(claim): use correct fallback relaysDanConwayDev
use fallback relays instead of more fallback relays
2024-01-23fix(prs-create): remove d tag from pr eventDanConwayDev
this shouldn't be present
2024-01-23feat(pull): check for clean repoDanConwayDev
before applying changes and bail if not
2024-01-23feat(prs-list): check for clean repoDanConwayDev
before checking out PR branch add confirm prompt before checking out branch and applying changes
2024-01-22feat(git) save pgp sig in patch eventDanConwayDev
so that commit ids can be maintained
2024-01-22feat(claim): improve no remote error messageDanConwayDev
so that the user knows why a remote is required
2023-12-12feat(claim) create yaml add maintainers and relaysDanConwayDev
- create yaml file with maintainers and relays - add maintainers to repo event - add current user as maintainer - custom repo relays from cli argument - save git-server in repo event
2023-12-08feat(push) push commits to existing prDanConwayDev
- find pr with a branch-name that matches checked out branch - check branch isnt behind latest patch on pr - push new commits a patches associated with pr
2023-12-07feat(pull) pull commits for checked out pr branchDanConwayDev
- find pr event which matches branch name - fetch and apply latest commits
2023-12-01feat(prs-list) list and pull selected as branchDanConwayDev
- fetch prs and present as a selectable list - create and / or checkout branch for selected pr - apply latest patches as commits
2023-11-01feat(prs-create) add pr tag branch-name and titleDanConwayDev
tag pr event with title, description and the name of the current checkedout branch
2023-11-01feat(prs-create) use r instead of t tag for refsDanConwayDev
r tags are indexed by relays in they same way as t tags and are a more appropriate for referencing commits
2023-11-01feat(prs-create) send to repo relaysDanConwayDev
fetch repository reference events to identify repository relays send pr events to repository relays alongside user relays
2023-11-01refactor(claim) move repo_ref.rsDanConwayDev
file created in the wrong folder in error
2023-11-01refactor(claim) remove setter flowDanConwayDev
we dont need to th verbose of getters and setters for this right now