| Age | Commit message (Collapse) | Author |
|
as we have just pushed to 3 ngit relays
|
|
this was identified when testing with multiple maintainers
|
|
and cross compile where possible
|
|
make the default set of ngit-relays configurable
|
|
if you haven't cloned an existing nostr repo
|
|
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.
|
|
allow exporting npub as well as nsec
|
|
as it usually full of inappropriate relays like purplepages.
|
|
instead of replacing ngit-relays with additoinal relays , suppliment
|
|
for git push, a wait longer to allow ngit-relays to create repo
|
|
so we dont try and fetch from both
|
|
otherwise it tries all the protocols and reprots on each
|
|
applying this change to blossom: 25e58e52624210f5852a9183495821526add5928
|
|
make sure blossom server is also present
|
|
when creating announcment with `ngit init`
|
|
should have done it at 4dc5d0c9fb170981cf4fade5558d7cc8da404aa3
|
|
add a blossom tag to the repo announcement
|
|
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.
|
|
the details are included as default options
|
|
reduce the scenarios where we confuse users about state
|
|
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.
|
|
of how to customise ngit via git config items
|
|
via git config so they can be overwritten locally and globally
|
|
in prep for optionally getting some of this config from git config overrides
|
|
but other details from trusted maintainer.
This maximises the likelihood that all git servers and relays
have the correct state.
|
|
changelog:
fix: fallback to http protocol if ssh is unavailable
|
|
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
|
|
as the github runner for this version has been removed
|
|
applied fix included in v1.6.1
|
|
changelog:
- add event description for remote signing process
- fix custom ports use for git servers
- bump all dependancies to latest major versions
|
|
to point to new url structure
|
|
and fix breaking changes
|
|
this update appears to just update child dependancies rather than
provide breaking changes
|
|
dependancy isn't being used
|
|
none of the breaking changes impact this code base
|
|
none of the breaking changes impact this code base
|
|
the function was intergrated into rust-nostr
|
|
no breaking changes this time
|
|
we have had some bugs related to git2 so moving to the latest version
|
|
update to the latest patch version with `cargo update`
|
|
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
|
|
update nix dependancies to latest version using default update options
run `cargo clippy --fix` and `cargo fmt` to fix new clippy errors
|
|
with new format. but both default option and when previous web
string used legacy format
|
|
resolving
nostr:note1qu8le4a8qz9hhxy6q85txejcq0kln0r3s9vdtwrhtqwvauc6nxuqn3fj0z
so it doesnt appear frozen when there are lots of events being signed
by a remote signer
|
|
as listed in:
https://docs.github.com/en/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job
|
|
to readme as an additional install option
|
|
introduced by rust-nostr v0.40 from v0.37
|
|
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
|
|
rust-nostr upgrade to v0.40 removed this `p` tag
|
|
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.
|
|
and fix all of the breaking changes
|
|
update to latest patch version in depenancies
|
|
format the nix code with nixfmt
|
|
as some tests hang during `nix run github:danconwaydev/ngit-cli`
|
|
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
|
|
in the instruction and in the link to contribute
|
|
show draft as well as open PRs as remote branches
|
|
improve reliability of getting current logged in user to assess if
they have submitted a proposal with the same name / branch name
|
|
improve clarity by renaming variables and methods
defend against `branch-name` tag with an unsafe name
|
|
simplify to allow the removal of warning:
`#[allow(clippy::too_many_arguments)]`
|
|
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.
|
|
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`
|
|
update nix dependancies to latest version using default update options
fix warning related to idomatic patterns
|
|
update dependancies to latest version stated in cargo.toml
|
|
improve the error message when fetching nip05 profile fails
|
|
comparing different versions of the nostr url string
|
|
as it was way too long
|
|
publish a merge event when the commit author signature and timestamp
match patches within an open proposal
|
|
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
|
|
publish a merge event when the commit author signature and timestamp
match patches within an open proposal
|
|
allow any order of the commit ids
|
|
should alway list only the three-way merge commit id.
|
|
prevent a panic when tags are of an unexpect length
|
|
enable nostr git url format
alongside and
format
Merge branch 'pr/nip05-lez(ff1845c0)'
|
|
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
|
|
so the user understands the cause of any delay if the domain takes
a while to respond
|
|
prioritise using nip05 nostr url format when the nip05, public key
mapping is stored in the (usually local) git config.
|
|
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.
|
|
update tests to use the async `parse_and_resolve` instead of removed
`from_str` method
|
|
replace `NostrUrlDecoded::from_str` with
`NostrUrlDecoded::parse_and_resolve`
store nip05 pubkey mapping in git cache
|
|
get the latest user relay list before pushing patches and repo
announcement events
|
|
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
|
|
update the tests to reflect the changes in the previous 4 commits
|
|
when nostr address is unknown and user is prompted to enter it,
ask the user to save it as a git remote.
|
|
when nostr address is unknown and user is prompted, validate that
a the entered repo exists (there are events related to it) before
proceeding
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
as there might be a repo event but we couldn't find it
|
|
add a "maintainers.yaml" title to prevent a wall of unbroken text
|
|
if there is no marker or "euc".
also capture name and description even if there are additional items
in the tag array.
|
|
check whether remote `origin` is nostr url and if not attempt
to set it.
|
|
as it was spelt with 1 'n'
|
|
to improve legability of function
|
|
otherwise the test never ends or fails
|
|
as creation by default was removed in 9bee5f12efa5ed751468c68073c9122e12c22b5f
|
|
fix error introduced in 6bcac672e04cb316de1f952c08b07937c7db3cc6
|
|
if nostr added as origin remote before repo announcement sent
|
|
update the repo announcement event based on any updates to
maintainers.yaml that are included in commits pushed to
'main' or 'master'
|