| Age | Commit message (Collapse) | Author |
|
changelog:
* git plugin reports on event broadcasting
|
|
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
|
|
warngins ~> warnings
|
|
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
|
|
from april version to current
|
|
so they match v1.8.2 used in updated git2
|
|
update nix dependancies to latest version using default update options
|
|
in the hope that it addresses the 'early EOF' error that sometimes
appears when cloning a repo.
|
|
update dependancies to latest version stated in cargo.toml
|
|
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?
|
|
fixing what should have been picked up in:
7718a56ab05038e743401ea01628d85edc50ed34
|
|
remove the correct number of lines when reporter prints to
narrow terminals
|
|
reverting change in 73480c03e194808bec7cbbf8c2d7064743d03369
|
|
improved for push to each git server. report now reflects new
branch / tag, delete branch / tag and force flag.
|
|
which enables some failing `fetch` tests to pass
|
|
in the TUI as its not useful
|
|
ensure commit id from and two are the correct way around
|
|
so that other protocols are not tried after push was successful
|
|
if another protocol was tried first and failed
|
|
use the same approach taken with reporting remote status in `push`
as is used in `fetch`
|
|
as changes to status updates has causes many tests to fail
|
|
which enables fetch tests to pass
|
|
in progress updates as its not resolving any deltas
|
|
when they are sent via multiple messages
|
|
and slightly refactor
|
|
by avoiding bugs where lines are removed accidentally by storing
report in a mutex and rewriting the entire report at each update
|
|
so it doesn't remain in the TUI
|
|
by only removing and rewriting transfer progress
|
|
by avoiding bugs where lines are removed accidentally by storing
report in a mutex and rewriting the entire report at each update
|
|
so it is done consistantly across ngit and the remote helper
|
|
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.
|
|
as since `cl.get_branch_name` has been introduced branch names
could be prefixed with a pr and sometimes postfixed with an event id
|
|
push needs to use push_transfer_progress rather than transfer_progress
|
|
by using words or short phrases
|
|
adding new errors that are authentication related
|
|
to bring them more into line to the native git client
|
|
to bring them more into line to the native git client
|
|
based off of:
https://github.com/rust-lang/git2-rs/blob/master/examples/fetch.rs
|
|
instead of trying again over fallback protocols
|
|
so that attempts can be made to use a fallback protocol
|
|
to make it more like native git
|
|
which potentially were only identified when a dependancy was updated
|
|
so a tarball can be created per system for issuing releases
|
|
as this is not needed. it was originally added as part of diagnosing
openssl availablity
|
|
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.
|
|
which were preventing the build process from running
|
|
using rustPlatform.buildRustPackage as used in nixpkgs
|
|
update nix dependancies to latest version using default update options
|
|
to make it easier to read and navigate
|
|
in prep for splitting git_remote_nostr tests
|
|
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.
|
|
so that it the filesystem url is shown
|
|
and don't proceed to https or http
|
|
used in fetch and tweak the error reporting
|
|
abstract the protocols and order to try under different scenarios
add some additional scenarios eg hardcoded http
tweak error reporting
|
|
as they are easier to read
|
|
enable override from nostr url
clone url is local use local
otherwise try https unathenticated, ssh, then https authenticated
|
|
to enable remote to interact with git servers over a range of
specified protocols
|
|
to make it easier to read
|
|
as it should have been used in the first place
|
|
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
|
|
the make the code more readable
this commit just moves the files, the next commit should fix the imports
|
|
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
|
|
so clone urls align to fetch rather than push.
see discussion here:
nostr:nevent1qvzqqqqx25pzpp59a0hkv5ecm45nrckvmu7pnk0sukssvly33u3wwzquy4v037hcqyxhwumn8ghj7mn0wvhxcmmvqqs2tdha5ymadffrkdprachsz6gsgsy6kc8gkntgq750mfn7u3aeu3g7xt8k9
|
|
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
|
|
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
|
|
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
|
|
because it takes to long to run and impacts workflow
it was only recently fixed as it didn't have execute permissions
|
|
as authentication is always required if clone url is ssh
|
|
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
|
|
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
|
|
even though they may exceed line length rules
unfortunately until
https://github.com/jorisroovers/gitlint/issues/255#issuecomment-1040868243
get merged
|
|
changelog:
* include git plugin in release zip
|
|
so that that will be included within the release zips
|
|
as this has reduced in importance as the user begins by
selecting a trusted maintainer
|
|
changelog:
* fix clone using nostr url
|
|
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
|
|
changelog:
* fix only maintainers can push normal branches / tags
|
|
and update / issue a state event.
normal users can only push branches prefiex with pr/
and these go on nostr, not the git server.
|
|
changelog:
* fix pushing tags in git-remote-nostr
|
|
use ^{} postfix for the commit id and without postfix for the tag id
|
|
as publishing to crates.io now gives error:
`
The following category slugs are not currently supported on crates.io: git
`
|
|
changelog:
* add git-remote-nostr binary
|
|
and include a primer on how it works
|
|
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/`
|
|
unless nostr.repo git config is set look for coodinates in git
remotes that use the nostr format
|
|
as the function is getting to long and we are about to add more to it
|
|
so it can be used by repo_ref which doesnt import git_remote_helper
|
|
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
|
|
so the user knows that a merge commit event will be issued
|
|
when a merge commit is being pushed that merges a patch in a proposal
|
|
issue new proposal when new branch is pushed into `prs/*` namespace,
which doesn't match an existing proposal
|
|
will updates the proposal rather than trying to issue a new one
|
|
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
|
|
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]
|
|
to avoid tests intermitantly failing when there is no problem
|
|
will issue a proposal revision
|
|
by allowing the output assert to fail rather than hang
|
|
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
|
|
in the event of a proposal revisions
|