| Age | Commit message (Collapse) | Author |
|
from_branch and to_branch have been replaced
by specifying revision ranges
|
|
wrapping `send --in-reply-to` unless branch up-to-date
|
|
ammended should read amended
|
|
reduce wording in choices
|
|
also updated copy and code comments
|
|
to align with changes done to pull
c5dfd1b7e509eedc33de75343de8659e3c9e0b2a
also improved copy
|
|
to align with changes done to pull
c5dfd1b7e509eedc33de75343de8659e3c9e0b2a
also improved copy
|
|
also updated copy and code comments
|
|
add test for scenario and tweak copy
|
|
added tests to cover one of these rebase scenarios
|
|
and added some comments to better describe the rebase scenarios
|
|
update list to support rebases via proposal revisions
as created by `ngit send --in-reply-to`
or upcoming change `ngit push --force`
|
|
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
|
|
specifiy commits or commit ranges in the
same way that `git format-patch` allows
|
|
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...
|
|
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
|
|
remove the word nostr for consistency and as its a bit confusing
|
|
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
|
|
and create functions to use this for non-root patches
|
|
if description isn't present this was causing an breaking error
|
|
the description is not currently displayed so no tests where written
|
|
to reflect the requirement for certain tags
|
|
PR is a problematic term when it ambiguous whether the
set of patches are PR-like or email-patch like.
|
|
instead of commit ids as part of nip34 compliance and to enable
applying proposals to tip of master in the future
|
|
as part of nip34 compliance
|
|
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
|
|
also add a default web
|
|
if repo event cannot be found using unique commit the user can
find it via a nevent or naddr
also handle no PRs found
|
|
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
|
|
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
|
|
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
|
|
this enables consistancy of display with simple clients that are just taking
the output of `git format-patch`
|
|
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.
|
|
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
|
|
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
|
|
format patch as a series in the patch event content unless it is 1/1
and there is no pr (cover letter) event
|
|
- 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
|
|
- 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
|
|
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.
|
|
instead of the `more_fallback_relays`
|
|
this is a temporary fix until we handle relays more effectively
|
|
use fallback relays instead of more fallback relays
|
|
this shouldn't be present
|
|
before applying changes and bail if not
|
|
before checking out PR branch
add confirm prompt before checking out branch and applying changes
|
|
so that commit ids can be maintained
|
|
so that the user knows why a remote is required
|
|
- 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
|
|
- 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
|
|
- find pr event which matches branch name
- fetch and apply latest commits
|
|
- fetch prs and present as a selectable list
- create and / or checkout branch for selected pr
- apply latest patches as commits
|
|
tag pr event with title, description and the name of the current
checkedout branch
|
|
r tags are indexed by relays in they same way as t tags and are a more
appropriate for referencing commits
|
|
fetch repository reference events to identify repository relays
send pr events to repository relays alongside user relays
|
|
file created in the wrong folder in error
|
|
we dont need to th verbose of getters and setters for this right now
|
|
enable wider usage of repoistory reference details
|
|
replacable event with root-commit, name, description and relay tags
|
|
reuse client across login and send events
|
|
connect immediately before requesting or sending events
no longer waiting for all relays to connect before interacting with any of them
|
|
fix breaking changes
|
|
get user relay list and metadata events from relays when keys are
used and last fetch attempt was more than an hour ago
uses user's write relays if known, otherwise uses fallback relays
to achieve this a method for intergration testing event fetching
from relays was added
|
|
add tests but these currently don't work when run together
|
|
- add client
- use client to send event
- add async functionality - enabler for relay interaction whilst
getting cli input
|
|
- identify commits
- create pull request event
- create patch events
|
|
Enables the user to only handle the nsec upon first use of the tool
by encrypting it with a password and storing it on disk in an
application cache.
The approach to encryption draws heavily from that used by the gossip
nostr client.
- unencrypted nsec is zeroed from memory
- a salt is used to defend against rainbow tables
- computationally expensive key stretching defends against
brute-force attacks of passwords with low entropy.
There is UX trade-off between decryption speed and key-stretching
computation. This UX challenge is exacerbated in a cli tool as
decryption must take place more regularly. Thought was put into the
selected n_log and a heavily reduced value is provided for long
passwords where security benefits are smaller.
A more granular reducing in computation was also considered by
rejected to avoided to revealing just how weak a password is as most
weak passwords are reused.
|
|
Create skeleton for a complete rebuild of the prototype as a production
ready product.
Includes design patterns for:
- dependency injection
- unit testing with dependency mocking
- integration testing
- error handling
- config storage
BREAKING-CHANGE: ground-up redesign with incompatible protocol standards
|